From db003347dd7b2d92dc14b8849165e9ded4a294d1 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 3 Apr 2013 22:18:02 +0400 Subject: [PATCH] Refactored JetHighlightingColors to IDEA 12.1+ colors API. --- idea/resources/colorScheme/Darcula_Kotlin.xml | 183 ++---------- idea/resources/colorScheme/Default_Kotlin.xml | 47 +++ idea/src/META-INF/plugin.xml | 1 + .../highlighter/JetHighlightingColors.java | 282 ++++-------------- 4 files changed, 125 insertions(+), 388 deletions(-) create mode 100644 idea/resources/colorScheme/Default_Kotlin.xml diff --git a/idea/resources/colorScheme/Darcula_Kotlin.xml b/idea/resources/colorScheme/Darcula_Kotlin.xml index 1dca1ffaec0..0105dbc4679 100644 --- a/idea/resources/colorScheme/Darcula_Kotlin.xml +++ b/idea/resources/colorScheme/Darcula_Kotlin.xml @@ -1,182 +1,47 @@ - + + + - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/idea/resources/colorScheme/Default_Kotlin.xml b/idea/resources/colorScheme/Default_Kotlin.xml new file mode 100644 index 00000000000..c8696691d75 --- /dev/null +++ b/idea/resources/colorScheme/Default_Kotlin.xml @@ -0,0 +1,47 @@ + + + + + + + + + + diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index 7e11c21975b..f15b2b685c3 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -124,6 +124,7 @@ + diff --git a/idea/src/org/jetbrains/jet/plugin/highlighter/JetHighlightingColors.java b/idea/src/org/jetbrains/jet/plugin/highlighter/JetHighlightingColors.java index 66c7e8ee930..e7d1bfad66a 100644 --- a/idea/src/org/jetbrains/jet/plugin/highlighter/JetHighlightingColors.java +++ b/idea/src/org/jetbrains/jet/plugin/highlighter/JetHighlightingColors.java @@ -16,245 +16,69 @@ package org.jetbrains.jet.plugin.highlighter; +import com.intellij.openapi.editor.DefaultLanguageHighlighterColors; import com.intellij.openapi.editor.HighlighterColors; -import com.intellij.openapi.editor.SyntaxHighlighterColors; import com.intellij.openapi.editor.colors.CodeInsightColors; import com.intellij.openapi.editor.colors.TextAttributesKey; -import com.intellij.openapi.editor.markup.EffectType; -import com.intellij.openapi.editor.markup.TextAttributes; -import java.awt.*; +import static com.intellij.openapi.editor.colors.TextAttributesKey.createTextAttributesKey; public class JetHighlightingColors { - public final static TextAttributesKey KEYWORD = TextAttributesKey.createTextAttributesKey( - "KOTLIN_KEYWORD", - SyntaxHighlighterColors.KEYWORD.getDefaultAttributes() - ); + // default keys (mostly syntax elements) + public final static TextAttributesKey KEYWORD = createTextAttributesKey("KOTLIN_KEYWORD", DefaultLanguageHighlighterColors.KEYWORD); + public static final TextAttributesKey BUILTIN_ANNOTATION = createTextAttributesKey("KOTLIN_BUILTIN_ANNOTATION", DefaultLanguageHighlighterColors.KEYWORD); + public static final TextAttributesKey NUMBER = createTextAttributesKey("KOTLIN_NUMBER", DefaultLanguageHighlighterColors.NUMBER); + public static final TextAttributesKey STRING = createTextAttributesKey("KOTLIN_STRING", DefaultLanguageHighlighterColors.STRING); + public static final TextAttributesKey STRING_ESCAPE = createTextAttributesKey("KOTLIN_STRING_ESCAPE", DefaultLanguageHighlighterColors.VALID_STRING_ESCAPE); + public static final TextAttributesKey INVALID_STRING_ESCAPE = createTextAttributesKey("KOTLIN_INVALID_STRING_ESCAPE", DefaultLanguageHighlighterColors.INVALID_STRING_ESCAPE); + public static final TextAttributesKey OPERATOR_SIGN = createTextAttributesKey("KOTLIN_OPERATION_SIGN", DefaultLanguageHighlighterColors.OPERATION_SIGN); + public static final TextAttributesKey PARENTHESIS = createTextAttributesKey("KOTLIN_PARENTHESIS", DefaultLanguageHighlighterColors.PARENTHESES); + public static final TextAttributesKey BRACES = createTextAttributesKey("KOTLIN_BRACES", DefaultLanguageHighlighterColors.BRACES); + public static final TextAttributesKey BRACKETS = createTextAttributesKey("KOTLIN_BRACKETS", DefaultLanguageHighlighterColors.BRACKETS); + public static final TextAttributesKey FUNCTION_LITERAL_BRACES_AND_ARROW = createTextAttributesKey("KOTLIN_FUNCTION_LITERAL_BRACES_AND_ARROW"); + public static final TextAttributesKey COMMA = createTextAttributesKey("KOTLIN_COMMA", DefaultLanguageHighlighterColors.COMMA); + public static final TextAttributesKey SEMICOLON = createTextAttributesKey("KOTLIN_SEMICOLON", DefaultLanguageHighlighterColors.SEMICOLON); + public static final TextAttributesKey DOT = createTextAttributesKey("KOTLIN_DOT", DefaultLanguageHighlighterColors.DOT); + public static final TextAttributesKey SAFE_ACCESS = createTextAttributesKey("KOTLIN_SAFE_ACCESS", DefaultLanguageHighlighterColors.DOT); + public static final TextAttributesKey ARROW = createTextAttributesKey("KOTLIN_ARROW", PARENTHESIS); + public static final TextAttributesKey LINE_COMMENT = createTextAttributesKey("KOTLIN_LINE_COMMENT", DefaultLanguageHighlighterColors.LINE_COMMENT); + public static final TextAttributesKey BLOCK_COMMENT = createTextAttributesKey("KOTLIN_BLOCK_COMMENT", DefaultLanguageHighlighterColors.BLOCK_COMMENT); + public static final TextAttributesKey DOC_COMMENT = createTextAttributesKey("KOTLIN_DOC_COMMENT", DefaultLanguageHighlighterColors.DOC_COMMENT); - public static final TextAttributesKey BUILTIN_ANNOTATION = TextAttributesKey.createTextAttributesKey( - "KOTLIN_BUILTIN_ANNOTATION", - SyntaxHighlighterColors.KEYWORD.getDefaultAttributes() - ); + // class kinds + public static final TextAttributesKey CLASS = createTextAttributesKey("KOTLIN_CLASS", CodeInsightColors.CLASS_NAME_ATTRIBUTES); + public static final TextAttributesKey TYPE_PARAMETER = createTextAttributesKey("KOTLIN_TYPE_PARAMETER", CodeInsightColors.TYPE_PARAMETER_NAME_ATTRIBUTES); + public static final TextAttributesKey ABSTRACT_CLASS = createTextAttributesKey("KOTLIN_ABSTRACT_CLASS", CodeInsightColors.ABSTRACT_CLASS_NAME_ATTRIBUTES); + public static final TextAttributesKey TRAIT = createTextAttributesKey("KOTLIN_TRAIT", CodeInsightColors.INTERFACE_NAME_ATTRIBUTES); + public static final TextAttributesKey ANNOTATION = createTextAttributesKey("KOTLIN_ANNOTATION", CodeInsightColors.ANNOTATION_NAME_ATTRIBUTES); - public static final TextAttributesKey NUMBER = TextAttributesKey.createTextAttributesKey( - "KOTLIN_NUMBER", - SyntaxHighlighterColors.NUMBER.getDefaultAttributes() - ); + // variable kinds + public static final TextAttributesKey MUTABLE_VARIABLE = createTextAttributesKey("KOTLIN_MUTABLE_VARIABLE"); + public static final TextAttributesKey LOCAL_VARIABLE = createTextAttributesKey("KOTLIN_LOCAL_VARIABLE", CodeInsightColors.LOCAL_VARIABLE_ATTRIBUTES); + public static final TextAttributesKey PARAMETER = createTextAttributesKey("KOTLIN_PARAMETER", CodeInsightColors.PARAMETER_ATTRIBUTES); + public static final TextAttributesKey WRAPPED_INTO_REF = createTextAttributesKey("KOTLIN_WRAPPED_INTO_REF", CodeInsightColors.IMPLICIT_ANONYMOUS_CLASS_PARAMETER_ATTRIBUTES); + public static final TextAttributesKey INSTANCE_PROPERTY = createTextAttributesKey("KOTLIN_INSTANCE_PROPERTY", CodeInsightColors.INSTANCE_FIELD_ATTRIBUTES); + public static final TextAttributesKey NAMESPACE_PROPERTY = createTextAttributesKey("KOTLIN_NAMESPACE_PROPERTY", CodeInsightColors.STATIC_FIELD_ATTRIBUTES); + public static final TextAttributesKey PROPERTY_WITH_BACKING_FIELD = createTextAttributesKey("KOTLIN_PROPERTY_WITH_BACKING_FIELD"); + public static final TextAttributesKey BACKING_FIELD_ACCESS = createTextAttributesKey("KOTLIN_BACKING_FIELD_ACCESS"); + public static final TextAttributesKey EXTENSION_PROPERTY = createTextAttributesKey("KOTLIN_EXTENSION_PROPERTY"); - public static final TextAttributesKey STRING = TextAttributesKey.createTextAttributesKey( - "KOTLIN_STRING", - SyntaxHighlighterColors.STRING.getDefaultAttributes() - ); + // functions + public static final TextAttributesKey FUNCTION_LITERAL_DEFAULT_PARAMETER = createTextAttributesKey("KOTLIN_CLOSURE_DEFAULT_PARAMETER"); + public static final TextAttributesKey FUNCTION_DECLARATION = createTextAttributesKey("KOTLIN_FUNCTION_DECLARATION", CodeInsightColors.METHOD_DECLARATION_ATTRIBUTES); + public static final TextAttributesKey FUNCTION_CALL = createTextAttributesKey("KOTLIN_FUNCTION_CALL", CodeInsightColors.METHOD_CALL_ATTRIBUTES); + public static final TextAttributesKey NAMESPACE_FUNCTION_CALL = createTextAttributesKey("KOTLIN_NAMESPACE_FUNCTION_CALL", CodeInsightColors.STATIC_METHOD_ATTRIBUTES); + public static final TextAttributesKey EXTENSION_FUNCTION_CALL = createTextAttributesKey("KOTLIN_EXTENSION_FUNCTION_CALL"); + public static final TextAttributesKey CONSTRUCTOR_CALL = createTextAttributesKey("KOTLIN_CONSTRUCTOR", CodeInsightColors.CONSTRUCTOR_CALL_ATTRIBUTES); + public static final TextAttributesKey VARIABLE_AS_FUNCTION_CALL = createTextAttributesKey("KOTLIN_VARIABLE_AS_FUNCTION"); + public static final TextAttributesKey VARIABLE_AS_FUNCTION_LIKE_CALL = createTextAttributesKey("KOTLIN_VARIABLE_AS_FUNCTION_LIKE"); - public static final TextAttributesKey STRING_ESCAPE = TextAttributesKey.createTextAttributesKey( - "KOTLIN_STRING_ESCAPE", - SyntaxHighlighterColors.VALID_STRING_ESCAPE.getDefaultAttributes() - ); - - public static final TextAttributesKey INVALID_STRING_ESCAPE = TextAttributesKey.createTextAttributesKey( - "KOTLIN_INVALID_STRING_ESCAPE", - new TextAttributes(null, HighlighterColors.BAD_CHARACTER.getDefaultAttributes().getBackgroundColor(), Color.RED, EffectType.WAVE_UNDERSCORE, 0) - ); - - public static final TextAttributesKey OPERATOR_SIGN = TextAttributesKey.createTextAttributesKey( - "KOTLIN_OPERATION_SIGN", - SyntaxHighlighterColors.OPERATION_SIGN.getDefaultAttributes() - ); - - public static final TextAttributesKey PARENTHESIS = TextAttributesKey.createTextAttributesKey( - "KOTLIN_PARENTHESIS", - SyntaxHighlighterColors.PARENTHS.getDefaultAttributes() - ); - - public static final TextAttributesKey BRACES = TextAttributesKey.createTextAttributesKey( - "KOTLIN_BRACES", - SyntaxHighlighterColors.BRACES.getDefaultAttributes() - ); - - public static final TextAttributesKey BRACKETS = TextAttributesKey.createTextAttributesKey( - "KOTLIN_BRACKETS", - SyntaxHighlighterColors.BRACKETS.getDefaultAttributes() - ); - - public static final TextAttributesKey FUNCTION_LITERAL_BRACES_AND_ARROW = TextAttributesKey.createTextAttributesKey( - "KOTLIN_FUNCTION_LITERAL_BRACES_AND_ARROW", - new TextAttributes(null, null, null, null, Font.BOLD) - ); - - public static final TextAttributesKey COMMA = TextAttributesKey.createTextAttributesKey( - "KOTLIN_COMMA", - SyntaxHighlighterColors.COMMA.getDefaultAttributes() - ); - - public static final TextAttributesKey SEMICOLON = TextAttributesKey.createTextAttributesKey( - "KOTLIN_SEMICOLON", - SyntaxHighlighterColors.JAVA_SEMICOLON.getDefaultAttributes() - ); - - public static final TextAttributesKey DOT = TextAttributesKey.createTextAttributesKey( - "KOTLIN_DOT", - SyntaxHighlighterColors.DOT.getDefaultAttributes() - ); - - public static final TextAttributesKey SAFE_ACCESS = TextAttributesKey.createTextAttributesKey( - "KOTLIN_SAFE_ACCESS", - SyntaxHighlighterColors.DOT.getDefaultAttributes() - ); - - public static final TextAttributesKey ARROW = TextAttributesKey.createTextAttributesKey( - "KOTLIN_ARROW", - SyntaxHighlighterColors.PARENTHS.getDefaultAttributes() - ); - - public static final TextAttributesKey LINE_COMMENT = TextAttributesKey.createTextAttributesKey( - "KOTLIN_LINE_COMMENT", - SyntaxHighlighterColors.LINE_COMMENT.getDefaultAttributes() - ); - - public static final TextAttributesKey BLOCK_COMMENT = TextAttributesKey.createTextAttributesKey( - "KOTLIN_BLOCK_COMMENT", - SyntaxHighlighterColors.JAVA_BLOCK_COMMENT.getDefaultAttributes() - ); - - public static final TextAttributesKey DOC_COMMENT = TextAttributesKey.createTextAttributesKey( - "KOTLIN_DOC_COMMENT", - SyntaxHighlighterColors.DOC_COMMENT.getDefaultAttributes() - ); - - public static final TextAttributesKey CLASS = TextAttributesKey.createTextAttributesKey( - "KOTLIN_CLASS", - CodeInsightColors.CLASS_NAME_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey TYPE_PARAMETER = TextAttributesKey.createTextAttributesKey( - "KOTLIN_TYPE_PARAMETER", - CodeInsightColors.TYPE_PARAMETER_NAME_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey ABSTRACT_CLASS = TextAttributesKey.createTextAttributesKey( - "KOTLIN_ABSTRACT_CLASS", - CodeInsightColors.ABSTRACT_CLASS_NAME_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey TRAIT = TextAttributesKey.createTextAttributesKey( - "KOTLIN_TRAIT", - CodeInsightColors.INTERFACE_NAME_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey ANNOTATION = TextAttributesKey.createTextAttributesKey( - "KOTLIN_ANNOTATION", - CodeInsightColors.ANNOTATION_NAME_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey MUTABLE_VARIABLE = TextAttributesKey.createTextAttributesKey( - "KOTLIN_MUTABLE_VARIABLE", - new TextAttributes(null, null, Color.BLACK, EffectType.LINE_UNDERSCORE, 0) - ); - - public static final TextAttributesKey LOCAL_VARIABLE = TextAttributesKey.createTextAttributesKey( - "KOTLIN_LOCAL_VARIABLE", - CodeInsightColors.LOCAL_VARIABLE_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey PARAMETER = TextAttributesKey.createTextAttributesKey( - "KOTLIN_PARAMETER", - CodeInsightColors.PARAMETER_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey WRAPPED_INTO_REF = TextAttributesKey.createTextAttributesKey( - "KOTLIN_WRAPPED_INTO_REF", - CodeInsightColors.IMPLICIT_ANONYMOUS_CLASS_PARAMETER_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey INSTANCE_PROPERTY = TextAttributesKey.createTextAttributesKey( - "KOTLIN_INSTANCE_PROPERTY", - CodeInsightColors.INSTANCE_FIELD_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey NAMESPACE_PROPERTY = TextAttributesKey.createTextAttributesKey( - "KOTLIN_NAMESPACE_PROPERTY", - CodeInsightColors.STATIC_FIELD_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey PROPERTY_WITH_BACKING_FIELD = TextAttributesKey.createTextAttributesKey( - "KOTLIN_PROPERTY_WITH_BACKING_FIELD", - new TextAttributes(null, new Color(0xf5d7ef), null, null, 0) -); - - public static final TextAttributesKey BACKING_FIELD_ACCESS = TextAttributesKey.createTextAttributesKey( - "KOTLIN_BACKING_FIELD_ACCESS", - new TextAttributes() - ); - - public static final TextAttributesKey EXTENSION_PROPERTY = TextAttributesKey.createTextAttributesKey( - "KOTLIN_EXTENSION_PROPERTY", - new TextAttributes() - ); - - public static final TextAttributesKey FUNCTION_LITERAL_DEFAULT_PARAMETER = TextAttributesKey.createTextAttributesKey( - "KOTLIN_CLOSURE_DEFAULT_PARAMETER", - new TextAttributes(null, null, null, null, Font.BOLD) - ); - - public static final TextAttributesKey FUNCTION_DECLARATION = TextAttributesKey.createTextAttributesKey( - "KOTLIN_FUNCTION_DECLARATION", - CodeInsightColors.METHOD_DECLARATION_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey FUNCTION_CALL = TextAttributesKey.createTextAttributesKey( - "KOTLIN_FUNCTION_CALL", - CodeInsightColors.METHOD_CALL_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey NAMESPACE_FUNCTION_CALL = TextAttributesKey.createTextAttributesKey( - "KOTLIN_NAMESPACE_FUNCTION_CALL", - CodeInsightColors.STATIC_METHOD_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey EXTENSION_FUNCTION_CALL = TextAttributesKey.createTextAttributesKey( - "KOTLIN_EXTENSION_FUNCTION_CALL", - new TextAttributes() - ); - - public static final TextAttributesKey CONSTRUCTOR_CALL = TextAttributesKey.createTextAttributesKey( - "KOTLIN_CONSTRUCTOR", - CodeInsightColors.CONSTRUCTOR_CALL_ATTRIBUTES.getDefaultAttributes() - ); - - public static final TextAttributesKey VARIABLE_AS_FUNCTION_CALL = TextAttributesKey.createTextAttributesKey( - "KOTLIN_VARIABLE_AS_FUNCTION", - new TextAttributes() - ); - - public static final TextAttributesKey VARIABLE_AS_FUNCTION_LIKE_CALL = TextAttributesKey.createTextAttributesKey( - "KOTLIN_VARIABLE_AS_FUNCTION_LIKE", - new TextAttributes() - ); - - public static final TextAttributesKey BAD_CHARACTER = TextAttributesKey.createTextAttributesKey( - "KOTLIN_BAD_CHARACTER", - HighlighterColors.BAD_CHARACTER.getDefaultAttributes() - ); - - public static final TextAttributesKey AUTO_CASTED_VALUE = TextAttributesKey.createTextAttributesKey( - "KOTLIN_AUTO_CASTED_VALUE", - new TextAttributes(null, new Color(0xdbffdb), null, null, Font.PLAIN) - ); - - public static final TextAttributesKey LABEL = TextAttributesKey.createTextAttributesKey( - "KOTLIN_LABEL", - new TextAttributes(new Color(0x4a86e8), null, null, null, Font.PLAIN) - ); - - public static final TextAttributesKey DEBUG_INFO = TextAttributesKey.createTextAttributesKey( - "KOTLIN_DEBUG_INFO", - new TextAttributes(null, null, Color.BLACK, EffectType.ROUNDED_BOX, Font.PLAIN) - ); - - public static final TextAttributesKey RESOLVED_TO_ERROR = TextAttributesKey.createTextAttributesKey( - "KOTLIN_RESOLVED_TO_ERROR", - new TextAttributes(null, null, Color.RED, EffectType.ROUNDED_BOX, Font.PLAIN) - ); + // other + public static final TextAttributesKey BAD_CHARACTER = createTextAttributesKey("KOTLIN_BAD_CHARACTER", HighlighterColors.BAD_CHARACTER); + public static final TextAttributesKey AUTO_CASTED_VALUE = createTextAttributesKey("KOTLIN_AUTO_CASTED_VALUE"); + public static final TextAttributesKey LABEL = createTextAttributesKey("KOTLIN_LABEL"); + public static final TextAttributesKey DEBUG_INFO = createTextAttributesKey("KOTLIN_DEBUG_INFO"); + public static final TextAttributesKey RESOLVED_TO_ERROR = createTextAttributesKey("KOTLIN_RESOLVED_TO_ERROR"); private JetHighlightingColors() { }