1010import io .protostuff .jetbrains .plugin .ProtoLanguage ;
1111import org .jetbrains .annotations .NotNull ;
1212import org .jetbrains .annotations .Nullable ;
13+
1314import static io .protostuff .jetbrains .plugin .formatter .StatementBlock .*;
15+
1416/**
1517 * @author Kostiantyn Shchepanovskyi
1618 */
1719public class FormattingModelBuilder implements com .intellij .formatting .FormattingModelBuilder {
1820
21+ public static SpacingBuilder createSpacingBuilder (CodeStyleSettings settings ) {
22+ CommonCodeStyleSettings protoSettings = settings .getCommonSettings (ProtoLanguage .INSTANCE );
23+ SpacingBuilder builder = new SpacingBuilder (settings , ProtoLanguage .INSTANCE );
24+ builder .around (ASSIGN ).spacing (1 , 1 , 0 , false , 0 );
25+ builder .before (SEMICOLON ).spacing (0 , 0 , 0 , false , 0 );
26+ builder .after (LINE_COMMENT ).spacing (0 , 0 , 1 , true , 2 );
27+ builder .after (LCURLY ).spacing (0 , 0 , 1 , true , 2 );
28+ builder .before (RCURLY ).spacing (0 , 0 , 1 , true , 2 );
29+ builder .after (LPAREN ).spacing (0 , 0 , 0 , false , 0 );
30+ builder .before (RPAREN ).spacing (0 , 0 , 0 , false , 0 );
31+ builder .after (LSQUARE ).spacing (0 , 0 , 0 , false , 0 );
32+ builder .before (RSQUARE ).spacing (0 , 0 , 0 , false , 0 );
33+ builder .before (LT ).spacing (0 , 0 , 0 , false , 0 );
34+ builder .after (LT ).spacing (0 , 0 , 0 , false , 0 );
35+ builder .before (GT ).spacing (0 , 0 , 0 , false , 0 );
36+ builder .before (COMMA ).spacing (0 , 0 , 0 , false , 0 );
37+ builder .before (SEMICOLON ).spacing (0 , 0 , 0 , false , 0 );
38+ builder .after (COMMA ).spacing (1 , 1 , 0 , false , 0 );
39+ return builder ;
40+ }
41+
1942 @ NotNull
2043 @ Override
2144 public FormattingModel createModel (PsiElement element , CodeStyleSettings settings ) {
@@ -32,25 +55,4 @@ public FormattingModel createModel(PsiElement element, CodeStyleSettings setting
3255 public TextRange getRangeAffectingIndent (PsiFile file , int offset , ASTNode elementAtOffset ) {
3356 return null ;
3457 }
35-
36- public static SpacingBuilder createSpacingBuilder (CodeStyleSettings settings ) {
37- CommonCodeStyleSettings protoSettings = settings .getCommonSettings (ProtoLanguage .INSTANCE );
38- return new SpacingBuilder (settings , ProtoLanguage .INSTANCE )
39- .around (ASSIGN ).spaceIf (protoSettings .SPACE_AROUND_ASSIGNMENT_OPERATORS )
40- .before (SEMICOLON ).spaceIf (protoSettings .SPACE_BEFORE_SEMICOLON )
41- .after (LINE_COMMENT ).spacing (0 , 0 , 1 , true , 2 )
42- .after (LCURLY ).spacing (0 , 0 , 1 , true , 2 )
43- .before (RCURLY ).spacing (0 , 0 , 1 , true , 2 )
44- .after (LPAREN ).spacing (0 , 0 , 0 , false , 0 )
45- .before (RPAREN ).spacing (0 , 0 , 0 , false , 0 )
46- .after (LSQUARE ).spacing (0 , 0 , 0 , false , 0 )
47- .before (RSQUARE ).spacing (0 , 0 , 0 , false , 0 )
48- .before (LT ).spacing (0 , 0 , 0 , false , 0 )
49- .after (LT ).spacing (0 , 0 , 0 , false , 0 )
50- .before (GT ).spacing (0 , 0 , 0 , false , 0 )
51- .before (COMMA ).spacing (0 , 0 , 0 , false , 0 )
52- .before (SEMICOLON ).spacing (0 , 0 , 0 , false , 0 )
53- .after (COMMA ).spacing (1 , 1 , 0 , false , 0 );
54-
55- }
5658}
0 commit comments