Search in sources :

Example 1 with SGenGrammarAccess

use of org.yakindu.sct.generator.genmodel.services.SGenGrammarAccess in project statecharts by Yakindu.

the class SGenFormatter method configureFormatting.

@Override
protected void configureFormatting(FormattingConfig c) {
    SGenGrammarAccess g = (SGenGrammarAccess) getGrammarAccess();
    // It's usually a good idea to activate the following three statements.
    // They will add and preserve newlines around comments
    c.setLinewrap(0, 1, 2).before(g.getSL_COMMENTRule());
    c.setLinewrap(0, 1, 2).before(g.getML_COMMENTRule());
    c.setLinewrap(0, 1, 1).after(g.getML_COMMENTRule());
    c.setLinewrap().before(g.getPropertyDefinitionRule());
    // - Line wrap before opening and after closing element
    for (Pair<Keyword, Keyword> pair : grammar.findKeywordPairs("{", "}")) {
        c.setIndentation(pair.getFirst(), pair.getSecond());
        c.setLinewrap().after(pair.getFirst());
        c.setLinewrap().around(pair.getSecond());
        Keyword openingBrace = pair.getFirst();
        Group containingGroup = (Group) openingBrace.eContainer();
        c.setLinewrap(1, 2, 2).before(containingGroup);
        c.setLinewrap(1, 1, 2).after(containingGroup);
    }
    c.setLinewrap().around(g.getFeatureConfigurationRule());
    c.setLinewrap().around(g.getFeatureParameterValueRule());
    c.setNoLinewrap().after(g.getGeneratorEntryAccess().getContentTypeAssignment_0());
    c.setNoLinewrap().after(g.getFeatureConfigurationAccess().getFeatureKeyword_1());
    c.setNoLinewrap().before(g.getGeneratorModelAccess().getGeneratorModelKeyword_0());
}
Also used : Group(org.eclipse.xtext.Group) SGenGrammarAccess(org.yakindu.sct.generator.genmodel.services.SGenGrammarAccess) Keyword(org.eclipse.xtext.Keyword)

Aggregations

Group (org.eclipse.xtext.Group)1 Keyword (org.eclipse.xtext.Keyword)1 SGenGrammarAccess (org.yakindu.sct.generator.genmodel.services.SGenGrammarAccess)1