From af77d297016b95e54d87c9cd5446f5eac28a992e Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Thu, 29 Mar 2018 11:53:46 +0300 Subject: [PATCH 1/4] Add syntax highlighting and completions for new color scheme preferences --- .../Corner Styles.sublime-completions | 8 +++ ...obals Keys (in-string).sublime-completions | 3 ++ .../Globals Keys.sublime-completions | 3 ++ .../Sublime Text Color Scheme.sublime-syntax | 50 ++++++++++++++++++- .../syntax_test_colorscheme.json | 12 +++++ 5 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 Package/Sublime Text Color Scheme/Completions/Corner Styles.sublime-completions diff --git a/Package/Sublime Text Color Scheme/Completions/Corner Styles.sublime-completions b/Package/Sublime Text Color Scheme/Completions/Corner Styles.sublime-completions new file mode 100644 index 00000000..c9a4334c --- /dev/null +++ b/Package/Sublime Text Color Scheme/Completions/Corner Styles.sublime-completions @@ -0,0 +1,8 @@ +{ + "scope": "meta.corner-style.sublime-color-scheme", + "completions": [ + { "trigger": "cut\toptions value", "contents": "cut" }, + { "trigger": "round\toptions value", "contents": "round" }, + { "trigger": "square\toptions value", "contents": "square" }, + ] +} diff --git a/Package/Sublime Text Color Scheme/Completions/Globals Keys (in-string).sublime-completions b/Package/Sublime Text Color Scheme/Completions/Globals Keys (in-string).sublime-completions index 286dcdfb..91824672 100644 --- a/Package/Sublime Text Color Scheme/Completions/Globals Keys (in-string).sublime-completions +++ b/Package/Sublime Text Color Scheme/Completions/Globals Keys (in-string).sublime-completions @@ -28,6 +28,9 @@ { "trigger": "rulers\tglobals key", "contents": "rulers" }, { "trigger": "selection\tglobals key", "contents": "selection" }, { "trigger": "selection_border\tglobals key", "contents": "selection_border" }, + { "trigger": "selection_corner_radius\tglobals key", "contents": "selection_corner_radius" }, + { "trigger": "selection_corner_style\tglobals key", "contents": "selection_corner_style" }, + { "trigger": "selection_border_width\tglobals key", "contents": "selection_border_width" }, { "trigger": "shadow\tglobals key", "contents": "shadow" }, { "trigger": "shadow_width\tglobals key", "contents": "shadow_width" }, { "trigger": "stack_guide\tglobals key", "contents": "stack_guide" }, diff --git a/Package/Sublime Text Color Scheme/Completions/Globals Keys.sublime-completions b/Package/Sublime Text Color Scheme/Completions/Globals Keys.sublime-completions index bd384db1..01eb0754 100644 --- a/Package/Sublime Text Color Scheme/Completions/Globals Keys.sublime-completions +++ b/Package/Sublime Text Color Scheme/Completions/Globals Keys.sublime-completions @@ -28,6 +28,9 @@ { "trigger": "rulers\tglobals key", "contents": "\"rulers\": \"$1\"," }, { "trigger": "selection\tglobals key", "contents": "\"selection\": \"$1\"," }, { "trigger": "selection_border\tglobals key", "contents": "\"selection_border\": \"$1\"," }, + { "trigger": "selection_corner_radius\tglobals key", "contents": "\"selection_corner_radius\": \"${1:2}\"," }, + { "trigger": "selection_corner_style\tglobals key", "contents": "\"selection_corner_style\": \"${1:round}\"," }, + { "trigger": "selection_border_width\tglobals key", "contents": "\"selection_border_width\": \"${1:1}\"," }, { "trigger": "shadow\tglobals key", "contents": "\"shadow\": \"$1\"," }, { "trigger": "shadow_width\tglobals key", "contents": "\"shadow_width\": \"$1\"," }, { "trigger": "stack_guide\tglobals key", "contents": "\"stack_guide\": \"$1\"," }, diff --git a/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax b/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax index 01e7ea9b..0f4e6327 100644 --- a/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax +++ b/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax @@ -208,13 +208,13 @@ contexts: 2: entity.name.globals.sublime-color-scheme 3: punctuation.definition.string.end.json set: [expect-color-string-value, expect-colon] - - match: (")(shadow_width|popup_css|phantom_css)(") + - match: (")(shadow_width|popup_css|phantom_css|selection_corner_radius|selection_border_width)(") scope: meta.mapping.key.json meta.globals-key.sublime-color-scheme string.quoted.double.json captures: 1: punctuation.definition.string.begin.json 2: entity.name.globals.sublime-color-scheme 3: punctuation.definition.string.end.json - set: [expect-string-value, expect-colon] + set: [expect-possible-number-in-string-value, expect-colon] - match: (")(implicit_selection_foreground)(") scope: meta.mapping.key.json meta.globals-key.sublime-color-scheme string.quoted.double.json captures: @@ -229,6 +229,13 @@ contexts: 2: entity.name.globals.sublime-color-scheme 3: punctuation.definition.string.end.json set: [expect-underlinestyle-string-value, expect-colon] + - match: (")(selection_corner_style)(") + scope: meta.mapping.key.json meta.globals-key.sublime-color-scheme string.quoted.double.json + captures: + 1: punctuation.definition.string.begin.json + 2: entity.name.globals.sublime-color-scheme + 3: punctuation.definition.string.end.json + set: [expect-cornerstyle-string-value, expect-colon] - include: in-dictionary-globals-key - include: expect-mapping-rest @@ -432,3 +439,42 @@ contexts: - include: string-escape - match: \b(true|false)\b scope: support.constant.boolean-string.color-scheme + + expect-cornerstyle-string-value: + - match: (?=") + set: [mapping-value-meta, cornerstyle-string-pop] + - include: expect-string-rest + + cornerstyle-string-pop: + - match: \" + scope: punctuation.definition.string.begin.json + set: + - meta_scope: meta.corner-style.sublime-color-scheme string.quoted.double.json + - match: '"' + scope: punctuation.definition.string.end.json + pop: true + - match: $\n? + scope: invalid.illegal.unclosed-string.json + pop: true + - include: string-escape + - match: \b(square|cut|round)\b + scope: support.constant.corner-style.color-scheme + + expect-possible-number-in-string-value: + - match: (?=") + set: [mapping-value-meta, possible-number-in-string-pop] + - include: expect-string-rest + + possible-number-in-string-pop: + - match: \" + scope: punctuation.definition.string.begin.json + set: + - meta_scope: string.quoted.double.json + - match: '"' + scope: punctuation.definition.string.end.json + pop: true + - match: $\n? + scope: invalid.illegal.unclosed-string.json + pop: true + - include: string-escape + - include: Sublime JSON.sublime-syntax#number diff --git a/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json b/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json index 1e714ea0..54b02d82 100644 --- a/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json +++ b/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json @@ -84,6 +84,18 @@ // ^ punctuation.separator.mapping.key-value.json // ^^^^^^ meta.mapping.value.json string.quoted.double.json // ^ punctuation.separator.mapping.pair.json + "selection_border_width": "1", +// ^^^^^^^^^^^^^^^^^^^^^^ entity.name.globals.sublime-color-scheme +// ^^^ meta.mapping.value.json string.quoted.double.json +// ^ constant.numeric.json + "selection_border": "#ffffff40", + "selection_corner_style": "round", +// ^^^^^^^^^^^^^^^^^^^^^^ entity.name.globals.sublime-color-scheme +// ^^^^^ support.constant.corner-style.color-scheme + "selection_corner_radius": "4", +// ^^^^^^^^^^^^^^^^^^^^^^^ entity.name.globals.sublime-color-scheme +// ^^^ meta.mapping.value.json string.quoted.double.json +// ^ constant.numeric.json }, // ^ punctuation.section.mapping.end.json // ^ punctuation.separator.mapping.pair.json From 90d8626968e5442c49e153780f717c7f087ce1f9 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Fri, 30 Mar 2018 08:42:30 +0300 Subject: [PATCH 2/4] Add highlighting and completions for `fold_marker` color scheme setting --- .../Completions/Globals Keys (in-string).sublime-completions | 1 + .../Completions/Globals Keys.sublime-completions | 1 + .../Sublime Text Color Scheme.sublime-syntax | 2 +- Package/Sublime Text Color Scheme/syntax_test_colorscheme.json | 3 +++ 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Package/Sublime Text Color Scheme/Completions/Globals Keys (in-string).sublime-completions b/Package/Sublime Text Color Scheme/Completions/Globals Keys (in-string).sublime-completions index 91824672..f9b60ab8 100644 --- a/Package/Sublime Text Color Scheme/Completions/Globals Keys (in-string).sublime-completions +++ b/Package/Sublime Text Color Scheme/Completions/Globals Keys (in-string).sublime-completions @@ -11,6 +11,7 @@ { "trigger": "caret\tglobals key", "contents": "caret" }, { "trigger": "find_highlight\tglobals key", "contents": "find_highlight" }, { "trigger": "find_highlight_foreground\tglobals key", "contents": "find_highlight_foreground" }, + { "trigger": "fold_marker\tglobals key", "contents": "fold_marker" }, { "trigger": "foreground\tglobals key", "contents": "foreground" }, { "trigger": "guide\tglobals key", "contents": "guide" }, { "trigger": "gutter\tglobals key", "contents": "gutter" }, diff --git a/Package/Sublime Text Color Scheme/Completions/Globals Keys.sublime-completions b/Package/Sublime Text Color Scheme/Completions/Globals Keys.sublime-completions index 01eb0754..c7fedc0f 100644 --- a/Package/Sublime Text Color Scheme/Completions/Globals Keys.sublime-completions +++ b/Package/Sublime Text Color Scheme/Completions/Globals Keys.sublime-completions @@ -11,6 +11,7 @@ { "trigger": "caret\tglobals key", "contents": "\"caret\": \"$1\"," }, { "trigger": "find_highlight\tglobals key", "contents": "\"find_highlight\": \"$1\"," }, { "trigger": "find_highlight_foreground\tglobals key", "contents": "\"find_highlight_foreground\": \"$1\"," }, + { "trigger": "fold_marker\tglobals key", "contents": "\"fold_marker\": \"$1\"," }, { "trigger": "foreground\tglobals key", "contents": "\"foreground\": \"$1\"," }, { "trigger": "guide\tglobals key", "contents": "\"guide\": \"$1\"," }, { "trigger": "gutter\tglobals key", "contents": "\"gutter\": \"$1\"," }, diff --git a/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax b/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax index 0f4e6327..b57b375b 100644 --- a/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax +++ b/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax @@ -201,7 +201,7 @@ contexts: - include: expect-key-rest globals-mapping-key: - - match: (")(accent|shadow|invisibles|caret|line_highlight|foreground|background|selection|selection_border|inactive_selection|inactive_selection_foreground|highlight|find_highlight|find_highlight_foreground|stack_guide|active_guide|guide|misspelling|brackets_foreground|bracket_contents_foreground|tags_foreground|minimap_border|gutter|gutter_foreground|rulers)(") + - match: (")(accent|shadow|invisibles|caret|line_highlight|foreground|background|selection|selection_border|inactive_selection|inactive_selection_foreground|highlight|find_highlight|find_highlight_foreground|stack_guide|active_guide|guide|misspelling|brackets_foreground|bracket_contents_foreground|tags_foreground|minimap_border|gutter|gutter_foreground|rulers|fold_marker)(") scope: meta.mapping.key.json meta.globals-key.sublime-color-scheme string.quoted.double.json captures: 1: punctuation.definition.string.begin.json diff --git a/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json b/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json index 54b02d82..b52128aa 100644 --- a/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json +++ b/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json @@ -96,6 +96,9 @@ // ^^^^^^^^^^^^^^^^^^^^^^^ entity.name.globals.sublime-color-scheme // ^^^ meta.mapping.value.json string.quoted.double.json // ^ constant.numeric.json + "fold_marker": "#ffcc00", +// ^^^^^^^^^^^ entity.name.globals.sublime-color-scheme +// ^^^^^^^ constant.other.color.rgb-value.css }, // ^ punctuation.section.mapping.end.json // ^ punctuation.separator.mapping.pair.json From 5b68ec1731d1b3c420860d93459ff14c0ca210d1 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Fri, 30 Mar 2018 12:22:12 +0300 Subject: [PATCH 3/4] Separate CSS matches from selection border matches --- .../Sublime Text Color Scheme.sublime-syntax | 9 ++++++++- .../syntax_test_colorscheme.json | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax b/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax index b57b375b..5724d897 100644 --- a/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax +++ b/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax @@ -208,7 +208,14 @@ contexts: 2: entity.name.globals.sublime-color-scheme 3: punctuation.definition.string.end.json set: [expect-color-string-value, expect-colon] - - match: (")(shadow_width|popup_css|phantom_css|selection_corner_radius|selection_border_width)(") + - match: (")(popup_css|phantom_css)(") + scope: meta.mapping.key.json meta.globals-key.sublime-color-scheme string.quoted.double.json + captures: + 1: punctuation.definition.string.begin.json + 2: entity.name.globals.sublime-color-scheme + 3: punctuation.definition.string.end.json + set: [expect-string-value, expect-colon] + - match: (")(shadow_width|selection_corner_radius|selection_border_width)(") scope: meta.mapping.key.json meta.globals-key.sublime-color-scheme string.quoted.double.json captures: 1: punctuation.definition.string.begin.json diff --git a/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json b/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json index b52128aa..a028d7ac 100644 --- a/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json +++ b/Package/Sublime Text Color Scheme/syntax_test_colorscheme.json @@ -89,6 +89,8 @@ // ^^^ meta.mapping.value.json string.quoted.double.json // ^ constant.numeric.json "selection_border": "#ffffff40", +// ^^^^^^^^^^^^^^^^ meta.globals-key string.quoted.double entity.name.globals +// ^^^^^^^^^ constant.other.color.rgba-value "selection_corner_style": "round", // ^^^^^^^^^^^^^^^^^^^^^^ entity.name.globals.sublime-color-scheme // ^^^^^ support.constant.corner-style.color-scheme From 9a82c679878ab5bfe428d6994f2801935cd5df33 Mon Sep 17 00:00:00 2001 From: Keith Hall Date: Fri, 11 May 2018 09:55:49 +0300 Subject: [PATCH 4/4] Add "hidden-color-scheme" as a file extension to the color scheme syntax --- .../Sublime Text Color Scheme.sublime-syntax | 1 + 1 file changed, 1 insertion(+) diff --git a/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax b/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax index 5724d897..033adc79 100644 --- a/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax +++ b/Package/Sublime Text Color Scheme/Sublime Text Color Scheme.sublime-syntax @@ -4,6 +4,7 @@ name: Sublime Text Color Scheme (JSON) file_extensions: - sublime-color-scheme + - hidden-color-scheme scope: source.json.sublime.color-scheme contexts: