aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmaan Qureshi <amaanq12@gmail.com>2024-02-19 02:53:49 -0500
committerAmaan Qureshi <amaanq12@gmail.com>2024-02-19 08:11:17 -0500
commit3a7b5a9fb46c261b83eadb126463a6e7bdfc8c78 (patch)
tree3f1d4c1fac42cf6478042d01fb1fd8644339679b
parentUpdate parsers: c, cpp, elm, html, markdown, markdown_inline, swift, vimdoc (diff)
downloadnvim-treesitter-3a7b5a9fb46c261b83eadb126463a6e7bdfc8c78.tar
nvim-treesitter-3a7b5a9fb46c261b83eadb126463a6e7bdfc8c78.tar.gz
nvim-treesitter-3a7b5a9fb46c261b83eadb126463a6e7bdfc8c78.tar.bz2
nvim-treesitter-3a7b5a9fb46c261b83eadb126463a6e7bdfc8c78.tar.lz
nvim-treesitter-3a7b5a9fb46c261b83eadb126463a6e7bdfc8c78.tar.xz
nvim-treesitter-3a7b5a9fb46c261b83eadb126463a6e7bdfc8c78.tar.zst
nvim-treesitter-3a7b5a9fb46c261b83eadb126463a6e7bdfc8c78.zip
feat(svelte)!: switch upstream parser
-rw-r--r--README.md2
-rw-r--r--lockfile.json2
-rw-r--r--lua/nvim-treesitter/parsers.lua4
-rw-r--r--queries/svelte/folds.scm11
-rw-r--r--queries/svelte/highlights.scm34
-rw-r--r--queries/svelte/indents.scm27
-rw-r--r--queries/svelte/injections.scm5
-rw-r--r--queries/svelte/locals.scm1
8 files changed, 52 insertions, 34 deletions
diff --git a/README.md b/README.md
index f660e1ffe..70f5c33b0 100644
--- a/README.md
+++ b/README.md
@@ -389,7 +389,7 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [styled](https://github.com/mskelton/tree-sitter-styled) (maintained by @mskelton)
- [x] [supercollider](https://github.com/madskjeldgaard/tree-sitter-supercollider) (maintained by @madskjeldgaard)
- [x] [surface](https://github.com/connorlay/tree-sitter-surface) (maintained by @connorlay)
-- [x] [svelte](https://github.com/Himujjal/tree-sitter-svelte) (maintained by @elianiva)
+- [x] [svelte](https://github.com/tree-sitter-grammars/tree-sitter-svelte) (maintained by @amaanq)
- [x] [swift](https://github.com/alex-pinkus/tree-sitter-swift) (maintained by @alex-pinkus)
- [x] [sxhkdrc](https://github.com/RaafatTurki/tree-sitter-sxhkdrc) (maintained by @RaafatTurki)
- [x] [systemtap](https://github.com/ok-ryoko/tree-sitter-systemtap) (maintained by @ok-ryoko)
diff --git a/lockfile.json b/lockfile.json
index d8b4eae19..22675c886 100644
--- a/lockfile.json
+++ b/lockfile.json
@@ -648,7 +648,7 @@
"revision": "f4586b35ac8548667a9aaa4eae44456c1f43d032"
},
"svelte": {
- "revision": "bd60db7d3d06f89b6ec3b287c9a6e9190b5564bd"
+ "revision": "04a126d9210def99f06d9ab84a255110b862d47c"
},
"swift": {
"revision": "e1ac0c3b48f4c42c40f92f400f14c6561369d4dd"
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index d27117a1a..2f3654fc5 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -1893,10 +1893,10 @@ list.surface = {
list.svelte = {
install_info = {
- url = "https://github.com/Himujjal/tree-sitter-svelte",
+ url = "https://github.com/tree-sitter-grammars/tree-sitter-svelte",
files = { "src/parser.c", "src/scanner.c" },
},
- maintainers = { "@elianiva" },
+ maintainers = { "@amaanq" },
}
list.swift = {
diff --git a/queries/svelte/folds.scm b/queries/svelte/folds.scm
index e8635d119..d46a81ec4 100644
--- a/queries/svelte/folds.scm
+++ b/queries/svelte/folds.scm
@@ -1,9 +1,12 @@
+; inherits: html
[
- (style_element)
- (script_element)
- (element)
(if_statement)
- (else_statement)
+ (else_if_block)
+ (else_block)
(each_statement)
(await_statement)
+ (then_block)
+ (catch_block)
+ (key_statement)
+ (snippet_statement)
] @fold
diff --git a/queries/svelte/highlights.scm b/queries/svelte/highlights.scm
index 3e1386d2f..0746879e0 100644
--- a/queries/svelte/highlights.scm
+++ b/queries/svelte/highlights.scm
@@ -1,20 +1,32 @@
-; inherits: html_tags
-(raw_text_expr) @none
+; inherits: html
+(raw_text) @none
[
- (special_block_keyword)
- (then)
- (as)
+ "as"
+ "key"
+ "html"
+ "snippet"
+ "render"
] @keyword
-((special_block_keyword) @keyword.coroutine
- (#eq? @keyword.coroutine "await"))
+"const" @type.qualifier
-((special_block_keyword) @keyword.exception
- (#eq? @keyword.exception "catch"))
+[
+ "if"
+ "else"
+ "then"
+] @keyword.conditional
+
+"each" @keyword.repeat
+
+[
+ "await"
+ "then"
+] @keyword.coroutine
+
+"catch" @keyword.exception
-((special_block_keyword) @keyword.conditional
- (#any-of? @keyword.conditional "if" "else"))
+"debug" @keyword.debug
[
"{"
diff --git a/queries/svelte/indents.scm b/queries/svelte/indents.scm
index 58224eae1..8e6124d75 100644
--- a/queries/svelte/indents.scm
+++ b/queries/svelte/indents.scm
@@ -1,28 +1,33 @@
-; inherits: html_tags
+; inherits: html
[
(if_statement)
(each_statement)
(await_statement)
(key_statement)
+ (snippet_statement)
] @indent.begin
-(if_end_expr
+(if_end
"}" @indent.end)
-(each_end_expr
+(each_end
"}" @indent.end)
-(await_end_expr
+(await_end
"}" @indent.end)
-(key_end_expr
+(key_end
+ "}" @indent.end)
+
+(snippet_end
"}" @indent.end)
[
- (if_end_expr)
- (else_if_statement)
- (else_statement)
- (each_end_expr)
- (await_end_expr)
- (key_end_expr)
+ (if_end)
+ (else_if_block)
+ (else_block)
+ (each_end)
+ (await_end)
+ (key_end)
+ (snippet_end)
] @indent.branch
diff --git a/queries/svelte/injections.scm b/queries/svelte/injections.scm
index 912fa3467..a101fe668 100644
--- a/queries/svelte/injections.scm
+++ b/queries/svelte/injections.scm
@@ -10,10 +10,7 @@
(#any-of? @_lang "scss" "postcss" "less")
(#set! injection.language "scss"))
-([
- (raw_text_expr)
- (raw_text_each)
-] @injection.content
+((svelte_raw_text) @injection.content
(#set! injection.language "javascript"))
((script_element
diff --git a/queries/svelte/locals.scm b/queries/svelte/locals.scm
new file mode 100644
index 000000000..1f2129cf9
--- /dev/null
+++ b/queries/svelte/locals.scm
@@ -0,0 +1 @@
+; inherits: html