From 9fb95e776ebab1b70423fd6be5ace44ec9cdef68 Mon Sep 17 00:00:00 2001 From: Vladimir Ilmov Date: Tue, 5 Nov 2019 12:31:50 +0300 Subject: [PATCH] [HIGHLIGHT] Specific keyword rules for val,var highlighting. 'Kotlin keyword' rule configured as fallback rule for all Kotlin keywords: - Created 'var'/'val' rules with fallback to 'Kotlin keyword' - BUILTIN_ANNOTATION rule fallback changed from Java to 'Kotlin keyword' #KT-13344 Fixed --- .../org/jetbrains/kotlin/idea/KotlinBundle.properties | 5 ++++- .../jetbrains/kotlin/idea/highlighter/KotlinHighlighter.java | 2 ++ .../kotlin/idea/highlighter/KotlinHighlightingColors.java | 4 +++- .../kotlin/idea/highlighter/KotlinColorSettingsPage.kt | 4 +++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/idea/idea-analysis/resources/org/jetbrains/kotlin/idea/KotlinBundle.properties b/idea/idea-analysis/resources/org/jetbrains/kotlin/idea/KotlinBundle.properties index e0aabc8a56f..31bf6257290 100644 --- a/idea/idea-analysis/resources/org/jetbrains/kotlin/idea/KotlinBundle.properties +++ b/idea/idea-analysis/resources/org/jetbrains/kotlin/idea/KotlinBundle.properties @@ -60,7 +60,10 @@ livetemplate.description.exval=Extension read-only property livetemplate.description.exvar=Extension read-write property options.kotlin.attribute.descriptor.annotation=Annotation -options.kotlin.attribute.descriptor.builtin.annotation=Modifier +options.kotlin.attribute.descriptor.builtin.annotation=Keywords//Modifier +options.kotlin.attribute.descriptor.builtin.keyword.val=Keywords//'val' +options.kotlin.attribute.descriptor.builtin.keyword.var=Keywords//'var' +options.kotlin.attribute.descriptor.builtin.keyword=Keywords//Keyword options.kotlin.attribute.descriptor.string.escape=String//Escape in string and template braces options.kotlin.attribute.descriptor.closure.braces=Braces and Operators//Lambda expression braces and arrow options.kotlin.attribute.descriptor.safe.access=Braces and Operators//Safe access dot diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlighter.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlighter.java index f1a7912df18..ac4ddce2ce5 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlighter.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlighter.java @@ -51,6 +51,8 @@ public class KotlinHighlighter extends SyntaxHighlighterBase { fillMap(keys1, KtTokens.KEYWORDS, KotlinHighlightingColors.KEYWORD); + keys1.put(KtTokens.VAL_KEYWORD, KotlinHighlightingColors.VAL_KEYWORD); + keys1.put(KtTokens.VAR_KEYWORD, KotlinHighlightingColors.VAR_KEYWORD); keys1.put(KtTokens.AS_SAFE, KotlinHighlightingColors.KEYWORD); keys1.put(KtTokens.INTEGER_LITERAL, KotlinHighlightingColors.NUMBER); keys1.put(KtTokens.FLOAT_LITERAL, KotlinHighlightingColors.NUMBER); diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingColors.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingColors.java index d4a33b0dd50..a4852155d79 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingColors.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinHighlightingColors.java @@ -26,7 +26,9 @@ import static com.intellij.openapi.editor.colors.TextAttributesKey.createTextAtt public class KotlinHighlightingColors { // default keys (mostly syntax elements) public static final TextAttributesKey KEYWORD = createTextAttributesKey("KOTLIN_KEYWORD", JavaHighlightingColors.KEYWORD); - public static final TextAttributesKey BUILTIN_ANNOTATION = createTextAttributesKey("KOTLIN_BUILTIN_ANNOTATION", JavaHighlightingColors.KEYWORD); + public static final TextAttributesKey BUILTIN_ANNOTATION = createTextAttributesKey("KOTLIN_BUILTIN_ANNOTATION", KotlinHighlightingColors.KEYWORD); + public static final TextAttributesKey VAL_KEYWORD = createTextAttributesKey("KOTLIN_KEYWORD_VAL", KotlinHighlightingColors.KEYWORD); + public static final TextAttributesKey VAR_KEYWORD = createTextAttributesKey("KOTLIN_KEYWORD_VAR", KotlinHighlightingColors.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); diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinColorSettingsPage.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinColorSettingsPage.kt index a112a376636..953818b1cab 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinColorSettingsPage.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinColorSettingsPage.kt @@ -119,7 +119,9 @@ var globalCounter