From ef73b9db797fe81b346e60643da11b11a92741a2 Mon Sep 17 00:00:00 2001 From: deathaxe Date: Mon, 26 Aug 2024 17:52:46 +0200 Subject: [PATCH] Opt-in to syntax version 2 Opt-in to current syntax engine features. Resolves some overlapping meta scopes and duplicated source.jsx in backtick quoted strings. --- CoffeeScript.sublime-syntax | 1 + tests/syntax_test_scope.coffee | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CoffeeScript.sublime-syntax b/CoffeeScript.sublime-syntax index 2166aab..71ba7e8 100644 --- a/CoffeeScript.sublime-syntax +++ b/CoffeeScript.sublime-syntax @@ -4,6 +4,7 @@ # CoffeeScript Syntax: version 1 name: CoffeeScript scope: source.coffee +version: 2 file_extensions: - coffee diff --git a/tests/syntax_test_scope.coffee b/tests/syntax_test_scope.coffee index f0478ea..051c42e 100644 --- a/tests/syntax_test_scope.coffee +++ b/tests/syntax_test_scope.coffee @@ -65,24 +65,28 @@ class App.Router extends Snakeskin.Router # ^^^^^ - meta.function - entity.name.function name: -> +# ^^^^^^^^ - meta.function meta.function # ^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^^^^ meta.function.coffee # ^ keyword.operator.assignment.coffee # ^^ keyword.declaration.function.coffee @name: -> +# ^^^^^^^^^ - meta.function meta.function # ^^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^^^^ meta.function.coffee # ^ keyword.operator.assignment.coffee # ^^ keyword.declaration.function.coffee namespace.name: -> +# ^^^^^^^^^^^^^^^^^^ - meta.function meta.function # ^^^^^^^^^^^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^^^^ meta.function.coffee # ^ keyword.operator.assignment.coffee # ^^ keyword.declaration.function.coffee name = => +# ^^^^^^^^^ - meta.function meta.function # ^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^ meta.function.identifier.coffee - entity # ^^^^ meta.function.coffee @@ -90,6 +94,7 @@ class App.Router extends Snakeskin.Router # ^^ keyword.declaration.function.coffee namespace.name = => +# ^^^^^^^^^^^^^^^^^^^ - meta.function meta.function # ^^^^^^^^^^^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^ meta.function.identifier.coffee - entity # ^^^^ meta.function.coffee @@ -97,18 +102,21 @@ class App.Router extends Snakeskin.Router # ^^ keyword.declaration.function.coffee name: => +# ^^^^^^^^ - meta.function meta.function # ^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^^^^ meta.function.coffee # ^ keyword.operator.assignment.coffee # ^^ keyword.declaration.function.coffee namespace.name: => +# ^^^^^^^^^^^^^^^^^^ - meta.function meta.function # ^^^^^^^^^^^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^^^^ meta.function.coffee # ^ keyword.operator.assignment.coffee # ^^ keyword.declaration.function.coffee name = => +# ^^^^^^^^^ - meta.function meta.function # ^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^ meta.function.identifier.coffee - entity # ^^^^ meta.function.coffee @@ -116,6 +124,7 @@ class App.Router extends Snakeskin.Router # ^^ keyword.declaration.function.coffee namespace.name = => +# ^^^^^^^^^^^^^^^^^^^ - meta.function meta.function # ^^^^^^^^^^^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^ meta.function.identifier.coffee - entity # ^^^^ meta.function.coffee @@ -123,6 +132,7 @@ class App.Router extends Snakeskin.Router # ^^ keyword.declaration.function.coffee name: () -> +# ^^^^^^^^^^^ - meta.function meta.function # ^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^^ meta.function.coffee # ^^ meta.function.parameters.coffee @@ -133,6 +143,7 @@ class App.Router extends Snakeskin.Router # ^^ keyword.declaration.function.coffee name: (foo, bar = undefined, baz="buuz", ...) -> +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - meta.function meta.function # ^^^^ meta.function.identifier.coffee entity.name.function.coffee # ^^ meta.function.coffee # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function.parameters.coffee @@ -492,10 +503,10 @@ class App.Router extends Snakeskin.Router # ^ meta.string.coffee string.quoted.script.coffee punctuation.definition.string.begin.coffee # ^ meta.string.coffee meta.embedded.coffee source.jsx.embedded.coffee - string var i = 0; -# ^^^^^^^^^^^ meta.string.coffee meta.embedded.coffee source.jsx.embedded.coffee +# ^^^^^^^^^^^ meta.string.coffee meta.embedded.coffee source.jsx.embedded.coffee - source.jsx source.jsx # ^^^ keyword.declaration return (

Hello {World}

) -# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.string.coffee meta.embedded.coffee source.jsx.embedded.coffee +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.string.coffee meta.embedded.coffee source.jsx.embedded.coffee - source.jsx source.jsx # ^^^^^^^^^^^^^^^^^^^^^^ meta.group.js meta.jsx.js # ^^^^ meta.tag # ^^^^^ meta.tag