blob: 169ccdea3605de8c0dc9e498a7b4570380d4e422 [file] [log] [blame]
/**
*
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
*
*
* This copyright notice shows up in the generated Java code
*
*/
package org.eclipse.osbp.xtext.functionlibrarydsl.formatting
import com.google.inject.Inject
import org.eclipse.osbp.utils.xtext.GenericFormatter
//import org.eclipse.osbp.xtext.functionlibrarydsl.services.FunctionLibraryDslGrammarAccess
import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter
import org.eclipse.xtext.formatting.impl.FormattingConfig
import org.eclipse.xtext.xbase.services.XtypeGrammarAccess
import org.eclipse.xtext.GrammarUtil
import org.eclipse.xtext.ParserRule
/**
* This class contains custom formatting description.
*
* see : http://www.eclipse.org/Xtext/documentation.html#formatting
* on how and when to use it
*
* Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example
*/
class FunctionLibraryDslFormatter extends AbstractDeclarativeFormatter {
// @Inject extension FunctionLibraryDslGrammarAccess
@Inject XtypeGrammarAccess grammarAccess
override protected void configureFormatting(FormattingConfig c) {
val genericFormatter = new GenericFormatter()
// var ParserRule importDef = GrammarUtil.findRuleForName( grammar.grammar, "XImportSection" ) as ParserRule
var ParserRule packageDef = GrammarUtil.findRuleForName( grammar.grammar, "FunctionLibraryPackage" ) as ParserRule
var ParserRule groupDef = GrammarUtil.findRuleForName( grammar.grammar, "FunctionLibraryGroup" ) as ParserRule
var ParserRule convGroupDef = GrammarUtil.findRuleForName( grammar.grammar, "FunctionLibraryConverterGroup" ) as ParserRule
var ParserRule ratingDef = GrammarUtil.findRuleForName( grammar.grammar, "FunctionLibraryRating" ) as ParserRule
// var ParserRule modelConvDef = GrammarUtil.findRuleForName( grammar.grammar, "FunctionConvertToModel" ) as ParserRule
// var ParserRule presConvDef = GrammarUtil.findRuleForName( grammar.grammar, "FunctionConvertToPresentation" ) as ParserRule
// dsl-specific formatting:
c.setLinewrap( 2 ).before( packageDef )
c.setLinewrap( 2 ).before( groupDef )
c.setLinewrap( 2 ).before( convGroupDef )
c.setLinewrap( 2 ).before( ratingDef )
// c.setNoLinewrap() .before( modelConvDef )
// c.setNoLinewrap() .before( presConvDef )
// common formatting:
genericFormatter.genericFormatting( c, grammar, grammarAccess )
}
}