From ceef91a8a49c5bedc8361449c41190ef35228fca Mon Sep 17 00:00:00 2001 From: Mihail Latyshov Date: Thu, 10 Apr 2025 19:33:20 +0400 Subject: [PATCH 1/2] Don't highlight `class` if its a property of an Object --- CoffeeScript.sublime-syntax | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CoffeeScript.sublime-syntax b/CoffeeScript.sublime-syntax index 7107b67..5e6221e 100644 --- a/CoffeeScript.sublime-syntax +++ b/CoffeeScript.sublime-syntax @@ -95,7 +95,7 @@ contexts: ###[ CLASS DECLARATIONS ]##################################################### classes: - - match: class\b + - match: class\b(?!\s*:) scope: meta.class.coffee keyword.declaration.class.coffee push: - class-extends From 5429cf7e31bedc8f677f11396559e1d2609c9caf Mon Sep 17 00:00:00 2001 From: kutu Date: Fri, 11 Apr 2025 10:10:45 +0400 Subject: [PATCH 2/2] reorder classes, add tests --- CoffeeScript.sublime-syntax | 4 ++-- tests/syntax_test_scope.coffee | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CoffeeScript.sublime-syntax b/CoffeeScript.sublime-syntax index 5e6221e..85604ab 100644 --- a/CoffeeScript.sublime-syntax +++ b/CoffeeScript.sublime-syntax @@ -29,8 +29,8 @@ contexts: push: [script, shebang] script: - - include: classes - include: functions + - include: classes - include: keywords - include: jsx-tags - include: expressions @@ -95,7 +95,7 @@ contexts: ###[ CLASS DECLARATIONS ]##################################################### classes: - - match: class\b(?!\s*:) + - match: class\b scope: meta.class.coffee keyword.declaration.class.coffee push: - class-extends diff --git a/tests/syntax_test_scope.coffee b/tests/syntax_test_scope.coffee index 131bc80..cab7361 100644 --- a/tests/syntax_test_scope.coffee +++ b/tests/syntax_test_scope.coffee @@ -531,6 +531,16 @@ class App.Router extends Snakeskin.Router # ^^^^^ meta.string.coffee string.quoted.double.coffee # ^ punctuation.section.group.end.coffee + class: 1 +# ^^^^^ variable.other.readwrite.coffee +# ^ keyword.operator.assignment.coffee + + obj.class: 1 +# ^^^^^^^^^ meta.path.coffee +# ^^^ variable.other.object.coffee +# ^ punctuation.accessor.dot.coffee +# ^^^^^ variable.other.member.coffee + ###[ LITERALS ]################################################################ Infinity NaN undefined .Infinity .NaN .undefined