use of org.eclipse.xtext.formatting2.IHiddenRegionFormatter in project xtext-core by eclipse.
the class FormattableDocument method interior.
@Override
public <T extends EObject> T interior(T object, Procedure1<? super IHiddenRegionFormatter> init) {
if (object != null) {
IEObjectRegion objRegion = getTextRegionAccess().regionForEObject(object);
if (objRegion != null) {
IHiddenRegion previous = objRegion.getPreviousHiddenRegion();
IHiddenRegion next = objRegion.getNextHiddenRegion();
if (previous != null && next != null && previous != next) {
interior(previous.getNextSemanticRegion(), next.getPreviousSemanticRegion(), init);
}
}
}
return object;
}
use of org.eclipse.xtext.formatting2.IHiddenRegionFormatter in project xtext-core by eclipse.
the class FormattableDocument method prepend.
@Override
public <T extends EObject> T prepend(T owner, Procedure1<? super IHiddenRegionFormatter> before) {
if (owner != null) {
IEObjectRegion region = getTextRegionAccess().regionForEObject(owner);
if (region != null) {
IHiddenRegion gap = region.getPreviousHiddenRegion();
set(gap, before);
}
}
return owner;
}
use of org.eclipse.xtext.formatting2.IHiddenRegionFormatter in project xtext-core by eclipse.
the class FormattableDocument method surround.
@Override
public <T extends EObject> T surround(T owner, Procedure1<? super IHiddenRegionFormatter> beforeAndAfter) {
if (owner != null && !owner.eIsProxy()) {
IEObjectRegion region = getTextRegionAccess().regionForEObject(owner);
if (region == null)
return owner;
IHiddenRegion previous = region.getPreviousHiddenRegion();
IHiddenRegion next = region.getNextHiddenRegion();
set(previous, next, beforeAndAfter);
}
return owner;
}
use of org.eclipse.xtext.formatting2.IHiddenRegionFormatter in project xtext-core by eclipse.
the class CommentFormatterTest method MLSL_inline.
@Test
public void MLSL_inline() {
final Procedure1<GenericFormatterTestRequest> _function = (GenericFormatterTestRequest it) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("idlist /*x*/ a");
_builder.newLine();
it.setToBeFormatted(_builder);
final GenericFormatter<IDList> _function_1 = new GenericFormatter<IDList>() {
@Override
protected void format(final IDList model, @Extension final ITextRegionExtensions regions, @Extension final IFormattableDocument document) {
final Procedure1<IHiddenRegionFormatter> _function = (IHiddenRegionFormatter it_1) -> {
it_1.oneSpace();
};
document.append(regions.regionFor(model).keyword("idlist"), _function);
}
};
it.setFormatter(_function_1);
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("idlist /*x*/ a");
_builder_1.newLine();
it.setExpectation(_builder_1);
};
this._genericFormatterTester.assertFormatted(_function);
}
use of org.eclipse.xtext.formatting2.IHiddenRegionFormatter in project xtext-core by eclipse.
the class CommentFormatterTest method MLSL_paragraph.
@Test
public void MLSL_paragraph() {
final Procedure1<GenericFormatterTestRequest> _function = (GenericFormatterTestRequest it) -> {
StringConcatenation _builder = new StringConcatenation();
_builder.append("idlist");
_builder.newLine();
_builder.newLine();
_builder.newLine();
_builder.append("/*x*/");
_builder.newLine();
_builder.newLine();
_builder.newLine();
_builder.append("a");
_builder.newLine();
it.setToBeFormatted(_builder);
final GenericFormatter<IDList> _function_1 = new GenericFormatter<IDList>() {
@Override
protected void format(final IDList model, @Extension final ITextRegionExtensions regions, @Extension final IFormattableDocument document) {
final Procedure1<IHiddenRegionFormatter> _function = (IHiddenRegionFormatter it_1) -> {
it_1.oneSpace();
};
document.append(regions.regionFor(model).keyword("idlist"), _function);
}
};
it.setFormatter(_function_1);
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("idlist /*x*/");
_builder_1.newLine();
_builder_1.append("a");
_builder_1.newLine();
it.setExpectation(_builder_1);
};
this._genericFormatterTester.assertFormatted(_function);
}
Aggregations