Java Code Examples for org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess#getExtensions()

The following examples show how to use org.eclipse.xtext.formatting2.regionaccess.ITextRegionAccess#getExtensions() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: RegionAccessDiffTest.java    From xtext-core with Eclipse Public License 2.0 5 votes vote down vote up
@Test
public void testSingleSemanticToken() throws Exception {
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("1 foo");
  _builder.newLine();
  final ITextRegionAccess access = this._regionAccessTestHelper.toTextRegionAccess(_builder);
  final Procedure1<ITextRegionDiffBuilder> _function = (ITextRegionDiffBuilder it) -> {
    @Extension
    final ITextRegionExtensions ext = access.getExtensions();
    final EObject root = access.regionForRootEObject().getSemanticElement();
    final ISemanticRegion foo = ext.allRegionsFor(root).feature(RegionaccesstestlanguagePackage.Literals.SIMPLE__NAME);
    it.replace(foo, "baaar");
  };
  ITextRegionAccess _modify = this._regionAccessTestHelper.modify(access, _function);
  StringConcatenation _builder_1 = new StringConcatenation();
  _builder_1.append("0 0   H");
  _builder_1.newLine();
  _builder_1.append("      ");
  _builder_1.append("B Simple\'foo\' Root");
  _builder_1.newLine();
  _builder_1.append("0 1    S \"1\"        Simple:\'1\'");
  _builder_1.newLine();
  _builder_1.append("1 1    H \" \"        Whitespace:TerminalRule\'WS\'");
  _builder_1.newLine();
  _builder_1.append("2 5 1  S \"baaar\"    Simple:name=ID");
  _builder_1.newLine();
  _builder_1.append("      ");
  _builder_1.append("E Simple\'foo\' Root");
  _builder_1.newLine();
  _builder_1.append("7 0   H");
  _builder_1.newLine();
  _builder_1.append("------------ diff 1 ------------");
  _builder_1.newLine();
  _builder_1.append("2 3 S \"foo\"      Simple:name=ID");
  _builder_1.newLine();
  this._regionAccessTestHelper.operator_tripleEquals(_modify, _builder_1);
}
 
Example 2
Source File: RegionAccessDiffTest.java    From xtext-core with Eclipse Public License 2.0 5 votes vote down vote up
@Test
public void testInsertReplaceReplace() throws Exception {
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("8 a");
  _builder.newLine();
  final ITextRegionAccess access = this._regionAccessTestHelper.toTextRegionAccess(_builder);
  final Procedure1<ITextRegionDiffBuilder> _function = (ITextRegionDiffBuilder it) -> {
    @Extension
    final ITextRegionExtensions ext = access.getExtensions();
    EObject _semanticElement = access.regionForRootEObject().getSemanticElement();
    final ValueList rootObj = ((ValueList) _semanticElement);
    final ISemanticRegion a = ext.regionFor(rootObj).keyword("8").getNextSemanticRegion();
    it.replace(a, "b");
    it.replace(a, "c");
  };
  ITextRegionAccess _modify = this._regionAccessTestHelper.modify(access, _function);
  StringConcatenation _builder_1 = new StringConcatenation();
  _builder_1.append("0 0   H");
  _builder_1.newLine();
  _builder_1.append("      ");
  _builder_1.append("B ValueList\'[a]\' Root");
  _builder_1.newLine();
  _builder_1.append("0 1    S \"8\"        Root:\'8\'");
  _builder_1.newLine();
  _builder_1.append("1 1    H \" \"        Whitespace:TerminalRule\'WS\'");
  _builder_1.newLine();
  _builder_1.append("2 1 1  S \"c\"        ValueList:name+=ID");
  _builder_1.newLine();
  _builder_1.append("      ");
  _builder_1.append("E ValueList\'[a]\' Root");
  _builder_1.newLine();
  _builder_1.append("3 0   H");
  _builder_1.newLine();
  _builder_1.append("------------ diff 1 ------------");
  _builder_1.newLine();
  _builder_1.append("2 1 S \"a\"        ValueList:name+=ID");
  _builder_1.newLine();
  this._regionAccessTestHelper.operator_tripleEquals(_modify, _builder_1);
}
 
Example 3
Source File: RichStringFormatter.java    From xtext-xtend with Eclipse Public License 2.0 4 votes vote down vote up
public RichStringFormatter create(final ITextRegionAccess regionAccess) {
  ITextRegionExtensions _extensions = regionAccess.getExtensions();
  return new RichStringFormatter(this, _extensions);
}
 
Example 4
Source File: RegionAccessDiffTest.java    From xtext-core with Eclipse Public License 2.0 4 votes vote down vote up
@Test
public void testDeleteOne() throws Exception {
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("4/*1*/prefix/*2*/foo");
  _builder.newLine();
  final ITextRegionAccess access = this._regionAccessTestHelper.toTextRegionAccess(_builder);
  final Procedure1<ITextRegionDiffBuilder> _function = (ITextRegionDiffBuilder it) -> {
    @Extension
    final ITextRegionExtensions ext = access.getExtensions();
    EObject _semanticElement = access.regionForRootEObject().getSemanticElement();
    final PrefixedUnassigned rootObj = ((PrefixedUnassigned) _semanticElement);
    final ISemanticRegion prefix = ext.regionFor(rootObj.getDelegate()).keyword("prefix");
    it.remove(prefix);
  };
  ITextRegionAccess _modify = this._regionAccessTestHelper.modify(access, _function);
  StringConcatenation _builder_1 = new StringConcatenation();
  _builder_1.append(" ");
  _builder_1.append("0  0   H");
  _builder_1.newLine();
  _builder_1.append("        ");
  _builder_1.append("B PrefixedUnassigned Root");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("0  1    S \"4\"        PrefixedUnassigned:\'4\'");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("1    1  H \"/*1*/\"    Comment:TerminalRule\'ML_COMMENT\' Association:CONTAINER");
  _builder_1.newLine();
  _builder_1.append("   ");
  _builder_1.append("10    \"/*2*/\"    Comment:TerminalRule\'ML_COMMENT\' Association:CONTAINER");
  _builder_1.newLine();
  _builder_1.append("         ");
  _builder_1.append("B Delegate\'foo\' PrefixedUnassigned:delegate=PrefixedDelegate path:PrefixedUnassigned/delegate");
  _builder_1.newLine();
  _builder_1.append("11  3     S \"foo\"      Delegate:name=ID");
  _builder_1.newLine();
  _builder_1.append("         ");
  _builder_1.append("E Delegate\'foo\' PrefixedUnassigned:delegate=PrefixedDelegate path:PrefixedUnassigned/delegate");
  _builder_1.newLine();
  _builder_1.append("        ");
  _builder_1.append("E PrefixedUnassigned Root");
  _builder_1.newLine();
  _builder_1.append("14  0   H");
  _builder_1.newLine();
  _builder_1.append("------------ diff 1 ------------");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("1  5 H \"/*1*/\"    Comment:TerminalRule\'ML_COMMENT\' Association:CONTAINER");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("6  6 S \"prefix\"   PrefixedDelegate:\'prefix\'");
  _builder_1.newLine();
  _builder_1.append("12  5 H \"/*2*/\"    Comment:TerminalRule\'ML_COMMENT\' Association:CONTAINER");
  _builder_1.newLine();
  this._regionAccessTestHelper.operator_tripleEquals(_modify, _builder_1);
}
 
Example 5
Source File: RegionAccessDiffTest.java    From xtext-core with Eclipse Public License 2.0 4 votes vote down vote up
@Test
public void testDeleteTwo() throws Exception {
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("4/*1*/prefix/*2*/foo/*3*/");
  _builder.newLine();
  final ITextRegionAccess access = this._regionAccessTestHelper.toTextRegionAccess(_builder);
  final Procedure1<ITextRegionDiffBuilder> _function = (ITextRegionDiffBuilder it) -> {
    @Extension
    final ITextRegionExtensions ext = access.getExtensions();
    EObject _semanticElement = access.regionForRootEObject().getSemanticElement();
    final PrefixedUnassigned rootObj = ((PrefixedUnassigned) _semanticElement);
    final ISemanticRegion prefix = ext.regionFor(rootObj.getDelegate()).keyword("prefix");
    final ISemanticRegion foo = ext.regionFor(rootObj.getDelegate()).feature(RegionaccesstestlanguagePackage.Literals.DELEGATE__NAME);
    it.remove(prefix.getPreviousHiddenRegion(), foo.getNextHiddenRegion());
  };
  ITextRegionAccess _modify = this._regionAccessTestHelper.modify(access, _function);
  StringConcatenation _builder_1 = new StringConcatenation();
  _builder_1.append(" ");
  _builder_1.append("0  0   H");
  _builder_1.newLine();
  _builder_1.append("        ");
  _builder_1.append("B PrefixedUnassigned Root");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("0  1    S \"4\"        PrefixedUnassigned:\'4\'");
  _builder_1.newLine();
  _builder_1.append("        ");
  _builder_1.append("E PrefixedUnassigned Root");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("1    1 H \"/*1*/\"    Comment:TerminalRule\'ML_COMMENT\' Association:CONTAINER");
  _builder_1.newLine();
  _builder_1.append("   ");
  _builder_1.append("10   \"/*3*/\"    Comment:TerminalRule\'ML_COMMENT\' Association:CONTAINER");
  _builder_1.newLine();
  _builder_1.append("------------ diff 1 ------------");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("1  5  H \"/*1*/\"    Comment:TerminalRule\'ML_COMMENT\' Association:CONTAINER");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("6  6  S \"prefix\"   PrefixedDelegate:\'prefix\'");
  _builder_1.newLine();
  _builder_1.append("12  5  H \"/*2*/\"    Comment:TerminalRule\'ML_COMMENT\' Association:CONTAINER");
  _builder_1.newLine();
  _builder_1.append("17  3  S \"foo\"      Delegate:name=ID");
  _builder_1.newLine();
  _builder_1.append("20  5  H \"/*3*/\"    Comment:TerminalRule\'ML_COMMENT\' Association:CONTAINER");
  _builder_1.newLine();
  this._regionAccessTestHelper.operator_tripleEquals(_modify, _builder_1);
}
 
Example 6
Source File: RegionAccessDiffTest.java    From xtext-core with Eclipse Public License 2.0 4 votes vote down vote up
@Test
public void testInsertInsertReplace() throws Exception {
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("8 a");
  _builder.newLine();
  final ITextRegionAccess access = this._regionAccessTestHelper.toTextRegionAccess(_builder);
  final Procedure1<ITextRegionDiffBuilder> _function = (ITextRegionDiffBuilder it) -> {
    @Extension
    final ITextRegionExtensions ext = access.getExtensions();
    EObject _semanticElement = access.regionForRootEObject().getSemanticElement();
    final ValueList rootObj = ((ValueList) _semanticElement);
    final ISemanticRegion a = ext.regionFor(rootObj).keyword("8").getNextSemanticRegion();
    it.replace(a.getNextHiddenRegion(), a.getNextHiddenRegion(), a.getPreviousHiddenRegion(), a.getNextHiddenRegion());
    it.replace(a.getNextHiddenRegion(), a.getNextHiddenRegion(), a.getPreviousHiddenRegion(), a.getNextHiddenRegion());
    it.replace(a, "new");
  };
  ITextRegionAccess _modify = this._regionAccessTestHelper.modify(access, _function);
  StringConcatenation _builder_1 = new StringConcatenation();
  _builder_1.append(" ");
  _builder_1.append("0 0   H");
  _builder_1.newLine();
  _builder_1.append("       ");
  _builder_1.append("B ValueList\'[a]\' Root");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("0 1    S \"8\"        Root:\'8\'");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("1 1    H \" \"        Whitespace:TerminalRule\'WS\'");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("2 3 2  S \"new\"      ValueList:name+=ID");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("5 0 2  H");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("5 3 2  S \"new\"      ValueList:name+=ID");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("8 0 2  H");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("8 3 2  S \"new\"      ValueList:name+=ID");
  _builder_1.newLine();
  _builder_1.append("       ");
  _builder_1.append("E ValueList\'[a]\' Root");
  _builder_1.newLine();
  _builder_1.append("11 0 2 H");
  _builder_1.newLine();
  _builder_1.append("------------ diff 1 ------------");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("2 1 S \"a\"        ValueList:name+=ID");
  _builder_1.newLine();
  _builder_1.append("------------ diff 2 ------------");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("2 1  S \"a\"        ValueList:name+=ID");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("3 0  H");
  _builder_1.newLine();
  this._regionAccessTestHelper.operator_tripleEquals(_modify, _builder_1);
}
 
Example 7
Source File: RegionAccessDiffTest.java    From xtext-core with Eclipse Public License 2.0 4 votes vote down vote up
@Test
public void testInsertBeforeComment() throws Exception {
  StringConcatenation _builder = new StringConcatenation();
  _builder.append("8");
  _builder.newLine();
  _builder.append("/**/");
  _builder.newLine();
  _builder.append("a b");
  _builder.newLine();
  final ITextRegionAccess access = this._regionAccessTestHelper.toTextRegionAccess(_builder);
  final Procedure1<ITextRegionDiffBuilder> _function = (ITextRegionDiffBuilder it) -> {
    @Extension
    final ITextRegionExtensions ext = access.getExtensions();
    EObject _semanticElement = access.regionForRootEObject().getSemanticElement();
    final ValueList rootObj = ((ValueList) _semanticElement);
    final ISemanticRegion a = ext.regionFor(rootObj).keyword("8").getNextSemanticRegion();
    final ISemanticRegion b = a.getNextSemanticRegion();
    it.replace(a.getPreviousHiddenRegion(), a.getPreviousHiddenRegion(), b.getPreviousHiddenRegion(), b.getNextHiddenRegion());
  };
  ITextRegionAccess _modify = this._regionAccessTestHelper.modify(access, _function);
  StringConcatenation _builder_1 = new StringConcatenation();
  _builder_1.append(" ");
  _builder_1.append("0 0   H");
  _builder_1.newLine();
  _builder_1.append("       ");
  _builder_1.append("B ValueList\'[a, b]\' Root");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("0 1    S \"8\"        Root:\'8\'");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("1 1 1  H \"\\n\"       Whitespace:TerminalRule\'WS\'");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("2 1 1  S \"b\"        ValueList:name+=ID");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("3   1  H \"/**/\"     Comment:TerminalRule\'ML_COMMENT\' Association:PREVIOUS");
  _builder_1.newLine();
  _builder_1.append("   ");
  _builder_1.append("5    \"\\n\"       Whitespace:TerminalRule\'WS\'");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("8 1    S \"a\"        ValueList:name+=ID");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("9 1    H \" \"        Whitespace:TerminalRule\'WS\'");
  _builder_1.newLine();
  _builder_1.append("10 1    S \"b\"        ValueList:name+=ID");
  _builder_1.newLine();
  _builder_1.append("       ");
  _builder_1.append("E ValueList\'[a, b]\' Root");
  _builder_1.newLine();
  _builder_1.append("11 0   H");
  _builder_1.newLine();
  _builder_1.append("------------ diff 1 ------------");
  _builder_1.newLine();
  _builder_1.append(" ");
  _builder_1.append("1   H \"\\n\"       Whitespace:TerminalRule\'WS\'");
  _builder_1.newLine();
  _builder_1.append("       ");
  _builder_1.append("\"/**/\"     Comment:TerminalRule\'ML_COMMENT\' Association:NEXT");
  _builder_1.newLine();
  _builder_1.append("   ");
  _builder_1.append("6   \"\\n\"       Whitespace:TerminalRule\'WS\'");
  _builder_1.newLine();
  this._regionAccessTestHelper.operator_tripleEquals(_modify, _builder_1);
}