diff options
| author | Otto Modinos <ottomodinos@gmail.com> | 2021-09-30 18:17:31 +0300 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2021-09-30 17:54:45 +0200 |
| commit | 99d4f72a5cd4a1c8e9c050eb347a5f724561fe1f (patch) | |
| tree | 2acb18ea077dc5314ef93f3e00100bf77839dce5 | |
| parent | Vim: highlight setlocal (#1877) (diff) | |
| download | nvim-treesitter-99d4f72a5cd4a1c8e9c050eb347a5f724561fe1f.tar nvim-treesitter-99d4f72a5cd4a1c8e9c050eb347a5f724561fe1f.tar.gz nvim-treesitter-99d4f72a5cd4a1c8e9c050eb347a5f724561fe1f.tar.bz2 nvim-treesitter-99d4f72a5cd4a1c8e9c050eb347a5f724561fe1f.tar.lz nvim-treesitter-99d4f72a5cd4a1c8e9c050eb347a5f724561fe1f.tar.xz nvim-treesitter-99d4f72a5cd4a1c8e9c050eb347a5f724561fe1f.tar.zst nvim-treesitter-99d4f72a5cd4a1c8e9c050eb347a5f724561fe1f.zip | |
feat(fennel): update parser and queries
| -rw-r--r-- | lockfile.json | 2 | ||||
| -rw-r--r-- | queries/fennel/highlights.scm | 23 | ||||
| -rw-r--r-- | queries/fennel/locals.scm | 26 |
3 files changed, 23 insertions, 28 deletions
diff --git a/lockfile.json b/lockfile.json index d7ea8d385..a980739de 100644 --- a/lockfile.json +++ b/lockfile.json @@ -57,7 +57,7 @@ "revision": "9d5fd0c329280a156bf7614a49dc5e8c58cc037c" }, "fennel": { - "revision": "42823442a18dd2aa7b0b22dc719abb54abb3fe2e" + "revision": "fce4331731a960077ff5f98939bc675179f1908a" }, "fish": { "revision": "04e54ab6585dfd4fee6ddfe5849af56f101b6d4f" diff --git a/queries/fennel/highlights.scm b/queries/fennel/highlights.scm index 2ebfcdc09..48a33990e 100644 --- a/queries/fennel/highlights.scm +++ b/queries/fennel/highlights.scm @@ -9,6 +9,14 @@ "]" ] @punctuation.bracket +[ + ":" + ":until" + "&" + "&as" + "?" +] @punctuation.special + (nil) @constant.builtin (vararg) @punctuation.special @@ -34,8 +42,7 @@ ((symbol) @variable.builtin (#match? @variable.builtin "^[$]")) -(sequential_table_binding (symbol) @symbol) -(table_binding ([(_) ":" @punctuation.special] (symbol) @symbol)*) +(binding) @symbol [ "fn" @@ -54,8 +61,6 @@ (multi_symbol (symbol) @function .) ]) -(parameters (symbol) @parameter) - [ "for" "each" @@ -71,21 +76,23 @@ (#any-of? @conditional "if" "when")) -((symbol) @include - (#any-of? @include - "require" "require-macros" "import-macros" "include")) - [ "global" "local" "let" "set" "var" + "where" + "or" ] @keyword ((symbol) @keyword (#any-of? @keyword "comment" "do" "doc" "eval-compiler" "lua" "macros" "quote" "tset" "values")) +((symbol) @include + (#any-of? @include + "require" "require-macros" "import-macros" "include")) + ((symbol) @function.macro (#any-of? @function.macro "->" "->>" "-?>" "-?>>" "?." "accumulate" "collect" "doto" "icollect" diff --git a/queries/fennel/locals.scm b/queries/fennel/locals.scm index 6a0f6c9fe..31e52038b 100644 --- a/queries/fennel/locals.scm +++ b/queries/fennel/locals.scm @@ -8,29 +8,17 @@ (match) ] @scope -((symbol) @scope - (#any-of? @scope - "while" "if" "when" "do")) +( + (list . (symbol) @_special) @scope + (#any-of? @_special + "while" "if" "when" "do" "collect" "icollect" "accumulate") +) (fn name: (symbol) @definition.function) (lambda name: (symbol) @definition.function) -(parameters - (symbol) @definition.var) - +; TODO: use @definition.parameter for parameters +(binding (symbol) @definition.var) (for_clause . (symbol) @definition.var) -; FIXME: how to distinguish between symbols-as-bindings and -; symbols-as-expressions -; (each_clause (symbol) @definition.var) -; (let_clause ((symbol) @definition.var (_))*) - -(global . (symbol) @definition.var) -(local . (symbol) @definition.var) -(var . (symbol) @definition.var) - -(multi_value_binding (symbol) @definition.var) -(sequential_table_binding (symbol) @definition.var) -(table_binding ([(_) ":"] (symbol) @definition.var)*) - (symbol) @reference |
