Activate "around operators" space properties. Remove other from settings
This commit is contained in:
@@ -101,6 +101,13 @@ public class JetBlock extends AbstractBlock {
|
||||
Indent childIndent = Indent.getNoneIndent();
|
||||
Alignment childAlignment = null;
|
||||
|
||||
if (child.getElementType() == JetNodeTypes.OPERATION_REFERENCE) {
|
||||
ASTNode operationNode = child.getFirstChildNode();
|
||||
if (operationNode != null) {
|
||||
return new JetBlock(operationNode, childAlignment, childIndent, wrap, mySettings, mySpacingBuilder);
|
||||
}
|
||||
}
|
||||
|
||||
ASTNode childParent = child.getTreeParent();
|
||||
|
||||
if (CODE_BLOCKS.contains(myNode.getElementType())) {
|
||||
|
||||
@@ -23,6 +23,8 @@ import com.intellij.psi.codeStyle.CustomCodeStyleSettings;
|
||||
|
||||
public class JetCodeStyleSettings extends CustomCodeStyleSettings {
|
||||
|
||||
public boolean SPACE_AROUND_RANGE = false;
|
||||
|
||||
public boolean SPACE_BEFORE_TYPE_COLON = true;
|
||||
public boolean SPACE_AFTER_TYPE_COLON = true;
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings;
|
||||
import com.intellij.psi.tree.TokenSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static org.jetbrains.jet.JetNodeTypes.*;
|
||||
@@ -46,7 +47,6 @@ public class JetFormattingModelBuilder implements FormattingModelBuilder {
|
||||
JetCodeStyleSettings jetSettings = settings.getCustomSettings(JetCodeStyleSettings.class);
|
||||
|
||||
return new SpacingBuilder(settings)
|
||||
|
||||
// ============ Line breaks ==============
|
||||
.after(NAMESPACE_HEADER).blankLines(1)
|
||||
|
||||
@@ -65,10 +65,19 @@ public class JetFormattingModelBuilder implements FormattingModelBuilder {
|
||||
.beforeInside(RBRACE, CLASS_BODY).lineBreakInCode()
|
||||
.beforeInside(RBRACE, BLOCK).lineBreakInCode()
|
||||
|
||||
// =============== Spacing ================
|
||||
// =============== Spacing ================
|
||||
.before(COMMA).spaceIf(settings.SPACE_BEFORE_COMMA)
|
||||
.after(COMMA).spaceIf(settings.SPACE_AFTER_COMMA)
|
||||
.around(EQ).spaceIf(settings.SPACE_AROUND_ASSIGNMENT_OPERATORS)
|
||||
|
||||
.around(TokenSet.create(EQ, MULTEQ, DIVEQ, PLUSEQ, MINUSEQ, PERCEQ)).spaceIf(settings.SPACE_AROUND_ASSIGNMENT_OPERATORS)
|
||||
.around(TokenSet.create(ANDAND, OROR)).spaceIf(settings.SPACE_AROUND_LOGICAL_OPERATORS)
|
||||
.around(TokenSet.create(EQEQ, EXCLEQ, EQEQEQ, EXCLEQEQEQ)).spaceIf(settings.SPACE_AROUND_EQUALITY_OPERATORS)
|
||||
.aroundInside(TokenSet.create(LT, GT, LTEQ, GTEQ), BINARY_EXPRESSION).spaceIf(settings.SPACE_AROUND_RELATIONAL_OPERATORS)
|
||||
.around(TokenSet.create(PLUS, MINUS)).spaceIf(settings.SPACE_AROUND_ADDITIVE_OPERATORS)
|
||||
.around(TokenSet.create(MUL, DIV, PERC)).spaceIf(settings.SPACE_AROUND_MULTIPLICATIVE_OPERATORS)
|
||||
.around(TokenSet.create(PLUSPLUS, MINUSMINUS, MINUS, PLUS, EXCL)).spaceIf(settings.SPACE_AROUND_UNARY_OPERATOR)
|
||||
.around(RANGE).spaceIf(jetSettings.SPACE_AROUND_RANGE)
|
||||
|
||||
.beforeInside(BLOCK, FUN).spaceIf(settings.SPACE_BEFORE_METHOD_LBRACE)
|
||||
|
||||
// TODO: Ask for better API
|
||||
@@ -81,7 +90,9 @@ public class JetFormattingModelBuilder implements FormattingModelBuilder {
|
||||
.beforeInside(COLON, TYPE_PARAMETER).spaceIf(jetSettings.SPACE_BEFORE_TYPE_COLON)
|
||||
.afterInside(COLON, TYPE_PARAMETER).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON)
|
||||
.beforeInside(COLON, VALUE_PARAMETER).spaceIf(jetSettings.SPACE_BEFORE_TYPE_COLON)
|
||||
.afterInside(COLON, VALUE_PARAMETER).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON);
|
||||
.afterInside(COLON, VALUE_PARAMETER).spaceIf(jetSettings.SPACE_AFTER_TYPE_COLON)
|
||||
|
||||
;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+56
-53
@@ -59,67 +59,70 @@ public class JetLanguageCodeStyleSettingsProvider extends LanguageCodeStyleSetti
|
||||
"SPACE_AROUND_LOGICAL_OPERATORS",
|
||||
"SPACE_AROUND_EQUALITY_OPERATORS",
|
||||
"SPACE_AROUND_RELATIONAL_OPERATORS",
|
||||
"SPACE_AROUND_BITWISE_OPERATORS",
|
||||
// "SPACE_AROUND_BITWISE_OPERATORS",
|
||||
"SPACE_AROUND_ADDITIVE_OPERATORS",
|
||||
"SPACE_AROUND_MULTIPLICATIVE_OPERATORS",
|
||||
"SPACE_AROUND_SHIFT_OPERATORS",
|
||||
// "SPACE_AROUND_SHIFT_OPERATORS",
|
||||
"SPACE_AROUND_UNARY_OPERATOR",
|
||||
"SPACE_AFTER_COMMA",
|
||||
"SPACE_AFTER_COMMA_IN_TYPE_ARGUMENTS",
|
||||
"SPACE_BEFORE_COMMA",
|
||||
"SPACE_AFTER_SEMICOLON",
|
||||
"SPACE_BEFORE_SEMICOLON",
|
||||
"SPACE_WITHIN_PARENTHESES",
|
||||
"SPACE_WITHIN_METHOD_CALL_PARENTHESES",
|
||||
"SPACE_WITHIN_EMPTY_METHOD_CALL_PARENTHESES",
|
||||
"SPACE_WITHIN_METHOD_PARENTHESES",
|
||||
"SPACE_WITHIN_EMPTY_METHOD_PARENTHESES",
|
||||
"SPACE_WITHIN_IF_PARENTHESES",
|
||||
"SPACE_WITHIN_WHILE_PARENTHESES",
|
||||
"SPACE_WITHIN_FOR_PARENTHESES",
|
||||
"SPACE_WITHIN_TRY_PARENTHESES",
|
||||
"SPACE_WITHIN_CATCH_PARENTHESES",
|
||||
"SPACE_WITHIN_SWITCH_PARENTHESES",
|
||||
// "SPACE_AFTER_COMMA_IN_TYPE_ARGUMENTS",
|
||||
"SPACE_BEFORE_COMMA"
|
||||
// "SPACE_AFTER_SEMICOLON",
|
||||
// "SPACE_BEFORE_SEMICOLON",
|
||||
// "SPACE_WITHIN_PARENTHESES",
|
||||
// "SPACE_WITHIN_METHOD_CALL_PARENTHESES",
|
||||
// "SPACE_WITHIN_EMPTY_METHOD_CALL_PARENTHESES",
|
||||
// "SPACE_WITHIN_METHOD_PARENTHESES",
|
||||
// "SPACE_WITHIN_EMPTY_METHOD_PARENTHESES",
|
||||
// "SPACE_WITHIN_IF_PARENTHESES",
|
||||
// "SPACE_WITHIN_WHILE_PARENTHESES",
|
||||
// "SPACE_WITHIN_FOR_PARENTHESES",
|
||||
// "SPACE_WITHIN_TRY_PARENTHESES",
|
||||
// "SPACE_WITHIN_CATCH_PARENTHESES",
|
||||
// "SPACE_WITHIN_SWITCH_PARENTHESES",
|
||||
// "SPACE_WITHIN_SYNCHRONIZED_PARENTHESES",
|
||||
"SPACE_WITHIN_CAST_PARENTHESES",
|
||||
"SPACE_WITHIN_BRACKETS",
|
||||
"SPACE_WITHIN_BRACES",
|
||||
// "SPACE_WITHIN_CAST_PARENTHESES",
|
||||
// "SPACE_WITHIN_BRACKETS",
|
||||
// "SPACE_WITHIN_BRACES",
|
||||
// "SPACE_WITHIN_ARRAY_INITIALIZER_BRACES",
|
||||
"SPACE_AFTER_TYPE_CAST",
|
||||
"SPACE_BEFORE_METHOD_CALL_PARENTHESES",
|
||||
"SPACE_BEFORE_METHOD_PARENTHESES",
|
||||
"SPACE_BEFORE_IF_PARENTHESES",
|
||||
"SPACE_BEFORE_WHILE_PARENTHESES",
|
||||
"SPACE_BEFORE_FOR_PARENTHESES",
|
||||
"SPACE_BEFORE_TRY_PARENTHESES",
|
||||
"SPACE_BEFORE_CATCH_PARENTHESES",
|
||||
"SPACE_BEFORE_SWITCH_PARENTHESES",
|
||||
"SPACE_BEFORE_SYNCHRONIZED_PARENTHESES",
|
||||
"SPACE_BEFORE_CLASS_LBRACE",
|
||||
"SPACE_BEFORE_METHOD_LBRACE",
|
||||
"SPACE_BEFORE_IF_LBRACE",
|
||||
"SPACE_BEFORE_ELSE_LBRACE",
|
||||
"SPACE_BEFORE_WHILE_LBRACE",
|
||||
"SPACE_BEFORE_FOR_LBRACE",
|
||||
"SPACE_BEFORE_DO_LBRACE",
|
||||
"SPACE_BEFORE_SWITCH_LBRACE",
|
||||
"SPACE_BEFORE_TRY_LBRACE",
|
||||
"SPACE_BEFORE_CATCH_LBRACE",
|
||||
"SPACE_BEFORE_FINALLY_LBRACE",
|
||||
"SPACE_BEFORE_SYNCHRONIZED_LBRACE",
|
||||
"SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE",
|
||||
"SPACE_BEFORE_ANNOTATION_ARRAY_INITIALIZER_LBRACE",
|
||||
"SPACE_BEFORE_ELSE_KEYWORD",
|
||||
"SPACE_BEFORE_WHILE_KEYWORD",
|
||||
"SPACE_BEFORE_CATCH_KEYWORD",
|
||||
"SPACE_BEFORE_FINALLY_KEYWORD",
|
||||
"SPACE_BEFORE_QUEST",
|
||||
"SPACE_AFTER_QUEST",
|
||||
"SPACE_BEFORE_COLON",
|
||||
"SPACE_AFTER_COLON",
|
||||
"SPACE_BEFORE_TYPE_PARAMETER_LIST"
|
||||
// "SPACE_AFTER_TYPE_CAST",
|
||||
// "SPACE_BEFORE_METHOD_CALL_PARENTHESES",
|
||||
// "SPACE_BEFORE_METHOD_PARENTHESES",
|
||||
// "SPACE_BEFORE_IF_PARENTHESES",
|
||||
// "SPACE_BEFORE_WHILE_PARENTHESES",
|
||||
// "SPACE_BEFORE_FOR_PARENTHESES",
|
||||
// "SPACE_BEFORE_TRY_PARENTHESES",
|
||||
// "SPACE_BEFORE_CATCH_PARENTHESES",
|
||||
// "SPACE_BEFORE_SWITCH_PARENTHESES",
|
||||
// "SPACE_BEFORE_SYNCHRONIZED_PARENTHESES",
|
||||
// "SPACE_BEFORE_CLASS_LBRACE",
|
||||
// "SPACE_BEFORE_METHOD_LBRACE",
|
||||
// "SPACE_BEFORE_IF_LBRACE",
|
||||
// "SPACE_BEFORE_ELSE_LBRACE",
|
||||
// "SPACE_BEFORE_WHILE_LBRACE",
|
||||
// "SPACE_BEFORE_FOR_LBRACE",
|
||||
// "SPACE_BEFORE_DO_LBRACE",
|
||||
// "SPACE_BEFORE_SWITCH_LBRACE",
|
||||
// "SPACE_BEFORE_TRY_LBRACE",
|
||||
// "SPACE_BEFORE_CATCH_LBRACE",
|
||||
// "SPACE_BEFORE_FINALLY_LBRACE",
|
||||
// "SPACE_BEFORE_SYNCHRONIZED_LBRACE",
|
||||
// "SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE",
|
||||
// "SPACE_BEFORE_ANNOTATION_ARRAY_INITIALIZER_LBRACE",
|
||||
// "SPACE_BEFORE_ELSE_KEYWORD",
|
||||
// "SPACE_BEFORE_WHILE_KEYWORD",
|
||||
// "SPACE_BEFORE_CATCH_KEYWORD",
|
||||
// "SPACE_BEFORE_FINALLY_KEYWORD",
|
||||
// "SPACE_BEFORE_QUEST",
|
||||
// "SPACE_AFTER_QUEST",
|
||||
// "SPACE_BEFORE_COLON",
|
||||
// "SPACE_AFTER_COLON",
|
||||
// "SPACE_BEFORE_TYPE_PARAMETER_LIST"
|
||||
);
|
||||
|
||||
consumer.showCustomOption(JetCodeStyleSettings.class, "SPACE_AROUND_RANGE", "Around range (..)",
|
||||
CodeStyleSettingsCustomizable.SPACES_AROUND_OPERATORS);
|
||||
|
||||
consumer.showCustomOption(JetCodeStyleSettings.class, "SPACE_AFTER_TYPE_COLON", "Space after colon, before declarations' type",
|
||||
CodeStyleSettingsCustomizable.SPACES_OTHER);
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
class Some {
|
||||
fun some() {
|
||||
var int : Int=0
|
||||
|
||||
int=12
|
||||
int+=12
|
||||
int-=12
|
||||
int*=12
|
||||
int/=12
|
||||
int%=12
|
||||
|
||||
true&&true
|
||||
true||false
|
||||
|
||||
12===3
|
||||
12!==3
|
||||
12==3
|
||||
12!=3
|
||||
|
||||
12<=3
|
||||
12>=3
|
||||
12<3
|
||||
12>3
|
||||
|
||||
12+3-12
|
||||
|
||||
12%3*12/3
|
||||
|
||||
!true
|
||||
int++
|
||||
++int
|
||||
int--
|
||||
--int
|
||||
+12
|
||||
-12
|
||||
|
||||
1..2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
class Some {
|
||||
fun some() {
|
||||
var int : Int = 0
|
||||
|
||||
int = 12
|
||||
int += 12
|
||||
int -= 12
|
||||
int *= 12
|
||||
int /= 12
|
||||
int %= 12
|
||||
|
||||
true && true
|
||||
true || false
|
||||
|
||||
12 === 3
|
||||
12 !== 3
|
||||
12 == 3
|
||||
12 != 3
|
||||
|
||||
12 <= 3
|
||||
12 >= 3
|
||||
12 < 3
|
||||
12 > 3
|
||||
|
||||
12 + 3 - 12
|
||||
|
||||
12 % 3 * 12 / 3
|
||||
|
||||
! true
|
||||
int ++
|
||||
++ int
|
||||
int --
|
||||
-- int
|
||||
+ 12
|
||||
- 12
|
||||
|
||||
1 .. 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
class Some {
|
||||
fun some() {
|
||||
var int : Int = 0
|
||||
|
||||
int = 12
|
||||
int += 12
|
||||
int -= 12
|
||||
int *= 12
|
||||
int /= 12
|
||||
int %= 12
|
||||
|
||||
true && true
|
||||
true || false
|
||||
|
||||
12 === 3
|
||||
12 !== 3
|
||||
12 == 3
|
||||
12 != 3
|
||||
|
||||
12 <= 3
|
||||
12 >= 3
|
||||
12 < 3
|
||||
12 > 3
|
||||
|
||||
12 + 3 - 12
|
||||
|
||||
12 % 3 * 12 / 3
|
||||
|
||||
! true
|
||||
int ++
|
||||
++ int
|
||||
int --
|
||||
-- int
|
||||
+ 12
|
||||
- 12
|
||||
|
||||
1 .. 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
class Some {
|
||||
fun some() {
|
||||
var int : Int=0
|
||||
|
||||
int=12
|
||||
int+=12
|
||||
int-=12
|
||||
int*=12
|
||||
int/=12
|
||||
int%=12
|
||||
|
||||
true&&true
|
||||
true||false
|
||||
|
||||
12===3
|
||||
12!==3
|
||||
12==3
|
||||
12!=3
|
||||
|
||||
12<=3
|
||||
12>=3
|
||||
12<3
|
||||
12>3
|
||||
|
||||
12+3-12
|
||||
|
||||
12%3*12/3
|
||||
|
||||
!true
|
||||
int++
|
||||
++int
|
||||
int--
|
||||
--int
|
||||
+12
|
||||
-12
|
||||
|
||||
1..2
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,21 @@ import org.jetbrains.jet.plugin.formatter.JetCodeStyleSettings;
|
||||
* Based on com.intellij.psi.formatter.java.JavaFormatterTest
|
||||
*/
|
||||
public class JetFormatterTest extends AbstractJetFormatterTest {
|
||||
public void testAddSpacesAroundOperations() throws Exception {
|
||||
getSettings().SPACE_AROUND_ASSIGNMENT_OPERATORS = true;
|
||||
getSettings().SPACE_AROUND_LOGICAL_OPERATORS = true;
|
||||
getSettings().SPACE_AROUND_EQUALITY_OPERATORS = true;
|
||||
getSettings().SPACE_AROUND_RELATIONAL_OPERATORS = true;
|
||||
getSettings().SPACE_AROUND_ADDITIVE_OPERATORS = true;
|
||||
getSettings().SPACE_AROUND_MULTIPLICATIVE_OPERATORS = true;
|
||||
getSettings().SPACE_AROUND_UNARY_OPERATOR = true;
|
||||
getJetSettings().SPACE_AROUND_RANGE = true;
|
||||
|
||||
doTest();
|
||||
|
||||
getSettings().clearCodeStyleSettings();
|
||||
}
|
||||
|
||||
public void testBlockFor() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
@@ -54,6 +69,21 @@ public class JetFormatterTest extends AbstractJetFormatterTest {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testRemoveSpacesAroundOperations() throws Exception {
|
||||
getSettings().SPACE_AROUND_ASSIGNMENT_OPERATORS = false;
|
||||
getSettings().SPACE_AROUND_LOGICAL_OPERATORS = false;
|
||||
getSettings().SPACE_AROUND_EQUALITY_OPERATORS = false;
|
||||
getSettings().SPACE_AROUND_RELATIONAL_OPERATORS = false;
|
||||
getSettings().SPACE_AROUND_ADDITIVE_OPERATORS = false;
|
||||
getSettings().SPACE_AROUND_MULTIPLICATIVE_OPERATORS = false;
|
||||
getSettings().SPACE_AROUND_UNARY_OPERATOR = false;
|
||||
getJetSettings().SPACE_AROUND_RANGE = false;
|
||||
|
||||
doTest();
|
||||
|
||||
getSettings().clearCodeStyleSettings();
|
||||
}
|
||||
|
||||
public void testSpaceAroundTypeColon() throws Exception {
|
||||
getJetSettings().SPACE_AFTER_TYPE_COLON = false;
|
||||
getJetSettings().SPACE_BEFORE_TYPE_COLON = true;
|
||||
|
||||
Reference in New Issue
Block a user