use of org.eclipse.xtext.preferences.MapBasedPreferenceValues in project xtext-xtend by eclipse.
the class XtendInterfaceFormatterTest method formatMethod01.
@Test
public void formatMethod01() {
final Procedure1<MapBasedPreferenceValues> _function = (MapBasedPreferenceValues it) -> {
it.<Boolean>put(XbaseFormatterPreferenceKeys.bracesInNewLine, Boolean.valueOf(false));
};
StringConcatenation _builder = new StringConcatenation();
_builder.append("package foo");
_builder.newLine();
_builder.newLine();
_builder.append("interface bar {");
_builder.newLine();
_builder.append("\t");
_builder.append("def baz()");
_builder.newLine();
_builder.append("}");
_builder.newLine();
this.assertFormatted(_function, _builder);
}
use of org.eclipse.xtext.preferences.MapBasedPreferenceValues in project xtext-xtend by eclipse.
the class XtendOnelinersFormatterTest method formatMethodWithOneExpression4.
@Test
public void formatMethodWithOneExpression4() {
final Procedure1<MapBasedPreferenceValues> _function = (MapBasedPreferenceValues it) -> {
it.<Boolean>put(XtendFormatterPreferenceKeys.keepOneLineMethods, Boolean.valueOf(true));
};
StringConcatenation _builder = new StringConcatenation();
_builder.append("class C {");
_builder.newLine();
_builder.append("\t");
_builder.append("def m() { \"Foo\" }");
_builder.newLine();
_builder.append("}");
_builder.newLine();
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("class C {");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("def m() { \"Foo\" }");
_builder_1.newLine();
_builder_1.append("}");
_builder_1.newLine();
this.assertFormatted(_function, _builder, _builder_1);
}
use of org.eclipse.xtext.preferences.MapBasedPreferenceValues in project xtext-xtend by eclipse.
the class XtendOnelinersFormatterTest method formatMethodWithJustAComment2.
@Test
public void formatMethodWithJustAComment2() {
final Procedure1<MapBasedPreferenceValues> _function = (MapBasedPreferenceValues it) -> {
it.<Boolean>put(XtendFormatterPreferenceKeys.keepOneLineMethods, Boolean.valueOf(true));
};
StringConcatenation _builder = new StringConcatenation();
_builder.append("class C {");
_builder.newLine();
_builder.append("\t");
_builder.append("def m() {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("/*foo*/");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("}");
_builder.newLine();
this.assertFormatted(_function, _builder);
}
use of org.eclipse.xtext.preferences.MapBasedPreferenceValues in project xtext-core by eclipse.
the class FormattingService method format.
/**
* @since 2.14
*/
public List<TextEdit> format(final XtextResource resource, final Document document, final int offset, final int length, final FormattingOptions options) {
String indent = this.indentationInformation.getIndentString();
if ((options != null)) {
boolean _isInsertSpaces = options.isInsertSpaces();
if (_isInsertSpaces) {
indent = Strings.padEnd("", options.getTabSize(), ' ');
}
}
if ((this.formatter2Provider != null)) {
final MapBasedPreferenceValues preferences = new MapBasedPreferenceValues();
preferences.put("indentation", indent);
TextRegion _textRegion = new TextRegion(offset, length);
final List<ITextReplacement> replacements = this.format2(resource, _textRegion, preferences);
final Function1<ITextReplacement, TextEdit> _function = (ITextReplacement r) -> {
return this.toTextEdit(document, r.getReplacementText(), r.getOffset(), r.getLength());
};
return IterableExtensions.<TextEdit>toList(ListExtensions.<ITextReplacement, TextEdit>map(replacements, _function));
} else {
return CollectionLiterals.<TextEdit>newArrayList();
}
}
use of org.eclipse.xtext.preferences.MapBasedPreferenceValues in project xtext-core by eclipse.
the class FormatterTestHelper method assertFormatted.
public void assertFormatted(FormatterTestRequest req) {
checkNotNull(req);
checkNotNull(req.getToBeFormatted());
FormatterRequest request = req.getRequest();
checkArgument(request.getTextRegionAccess() == null);
String document = req.getToBeFormatted().toString();
XtextResource parsed = parse(document);
if (req.isAllowSyntaxErrors()) {
if (request.getExplicitExceptionHandler() == null) {
request.setExceptionHandler(ExceptionAcceptor.IGNORING);
}
} else {
assertNoSyntaxErrors(parsed);
if (request.getExplicitExceptionHandler() == null) {
request.setExceptionHandler(ExceptionAcceptor.THROWING);
}
}
request.setTextRegionAccess(createRegionAccess(parsed, req));
if (request.getPreferences() == null)
request.setPreferences(new MapBasedPreferenceValues(Maps.<String, String>newLinkedHashMap()));
List<ITextReplacement> replacements = createFormatter(req).format(request);
assertReplacementsAreInRegion(replacements, request.getRegions(), document);
if (!req.isAllowUnformattedWhitespace())
assertAllWhitespaceIsFormatted(request.getTextRegionAccess(), replacements);
String formatted = request.getTextRegionAccess().getRewriter().renderToString(replacements);
Assert.assertEquals(req.getExpectationOrToBeFormatted().toString(), formatted);
// TODO: assert formatting a second time only produces identity replacements
// TODO: assert formatting with undefined whitespace only
}
Aggregations