From 7cda5b85920f875052438791f01246a408ee490e Mon Sep 17 00:00:00 2001 From: woojiq <122799969+woojiq@users.noreply.github.com> Date: Mon, 7 Aug 2023 22:07:56 +0300 Subject: [PATCH] build(tree-sitter): update javascript, typescript and tsx (#7852) * build(tree-sitter): update javascript, typescript and tsx * update revision of tree-sitter parsers for these languages. * rename `?.` to `optional_chain`, introduced in tree-sitter/tree-sitter-javascript@186f2adbf790552b354a9ba712341c7d48bdbccd. * fix(highlight): change jsx queries to match latest tree-sitter Latest tree-sitter/tree-sitter-javascript@bb1f97b643b77fc1f082d621bf533b4b14cf0c3 added some breaking changes that broke highlighting. * Remove some queries with `nested_identifier`. * Remove deprecated `jsx_fragment` from indent query. * Count `` as a single token. --- languages.toml | 6 +++--- runtime/queries/_jsx/highlights.scm | 18 +++--------------- runtime/queries/_jsx/indents.scm | 1 - runtime/queries/ecma/highlights.scm | 2 +- 4 files changed, 7 insertions(+), 20 deletions(-) diff --git a/languages.toml b/languages.toml index 0c3c6a7fa..c9a863ef0 100644 --- a/languages.toml +++ b/languages.toml @@ -563,7 +563,7 @@ args = { program = "{0}" } [[grammar]] name = "javascript" -source = { git = "https://github.com/tree-sitter/tree-sitter-javascript", rev = "4a95461c4761c624f2263725aca79eeaefd36cad" } +source = { git = "https://github.com/tree-sitter/tree-sitter-javascript", rev = "f772967f7b7bc7c28f845be2420a38472b16a8ee" } [[language]] name = "jsx" @@ -590,7 +590,7 @@ indent = { tab-width = 2, unit = " " } [[grammar]] name = "typescript" -source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "5d20856f34315b068c41edaee2ac8a100081d259", subpath = "typescript" } +source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "b1bf4825d9eaa0f3bdeb1e52f099533328acfbdf", subpath = "typescript" } [[language]] name = "tsx" @@ -604,7 +604,7 @@ indent = { tab-width = 2, unit = " " } [[grammar]] name = "tsx" -source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "5d20856f34315b068c41edaee2ac8a100081d259", subpath = "tsx" } +source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "b1bf4825d9eaa0f3bdeb1e52f099533328acfbdf", subpath = "tsx" } [[language]] name = "css" diff --git a/runtime/queries/_jsx/highlights.scm b/runtime/queries/_jsx/highlights.scm index 00641cded..853254e5b 100644 --- a/runtime/queries/_jsx/highlights.scm +++ b/runtime/queries/_jsx/highlights.scm @@ -4,9 +4,6 @@ (jsx_opening_element ((identifier) @constructor (#match? @constructor "^[A-Z]"))) -; Handle the dot operator effectively - -(jsx_opening_element ((nested_identifier (identifier) @tag (identifier) @constructor))) - (jsx_opening_element (identifier) @tag) ; Closing elements @@ -15,9 +12,6 @@ (jsx_closing_element ((identifier) @constructor (#match? @constructor "^[A-Z]"))) -; Handle the dot operator effectively - -(jsx_closing_element ((nested_identifier (identifier) @tag (identifier) @constructor))) - (jsx_closing_element (identifier) @tag) ; Self-closing elements @@ -26,9 +20,6 @@ (jsx_self_closing_element ((identifier) @constructor (#match? @constructor "^[A-Z]"))) -; Handle the dot operator effectively - -(jsx_self_closing_element ((nested_identifier (identifier) @tag (identifier) @constructor))) - (jsx_self_closing_element (identifier) @tag) ; Attributes @@ -39,17 +30,14 @@ ; Punctuation ; ----------- -; Handle attribute delimiter +; Handle attribute delimiter () (jsx_attribute "=" @punctuation.delimiter) ; (jsx_opening_element ["<" ">"] @punctuation.bracket) ; -(jsx_closing_element ["<" "/" ">"] @punctuation.bracket) +(jsx_closing_element [""] @punctuation.bracket) ; -(jsx_self_closing_element ["<" "/" ">"] @punctuation.bracket) - -; <> ... -(jsx_fragment ["<" "/" ">"] @punctuation.bracket) +(jsx_self_closing_element ["<" "/>"] @punctuation.braket) diff --git a/runtime/queries/_jsx/indents.scm b/runtime/queries/_jsx/indents.scm index 4731856cf..0609aa39a 100644 --- a/runtime/queries/_jsx/indents.scm +++ b/runtime/queries/_jsx/indents.scm @@ -1,5 +1,4 @@ [ - (jsx_fragment) (jsx_element) (jsx_self_closing_element) ] @indent diff --git a/runtime/queries/ecma/highlights.scm b/runtime/queries/ecma/highlights.scm index ddbe938fe..07f7dfeda 100644 --- a/runtime/queries/ecma/highlights.scm +++ b/runtime/queries/ecma/highlights.scm @@ -109,7 +109,7 @@ [ ";" - "?." + (optional_chain) ; ?. "." "," ] @punctuation.delimiter