diff options
| author | Riley Bruins <ribru17@hotmail.com> | 2024-07-07 09:52:43 -0700 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2024-07-17 09:48:23 +0200 |
| commit | 14dff71d381737f29df9a6e5335e16d3d9815309 (patch) | |
| tree | 3c37d13e8d1eef6e6e0ae1246b6d37ac5c34ef63 | |
| parent | feat: add nginx (diff) | |
| download | nvim-treesitter-14dff71d381737f29df9a6e5335e16d3d9815309.tar nvim-treesitter-14dff71d381737f29df9a6e5335e16d3d9815309.tar.gz nvim-treesitter-14dff71d381737f29df9a6e5335e16d3d9815309.tar.bz2 nvim-treesitter-14dff71d381737f29df9a6e5335e16d3d9815309.tar.lz nvim-treesitter-14dff71d381737f29df9a6e5335e16d3d9815309.tar.xz nvim-treesitter-14dff71d381737f29df9a6e5335e16d3d9815309.tar.zst nvim-treesitter-14dff71d381737f29df9a6e5335e16d3d9815309.zip | |
feat(wit): add folds, missing highlights
References:
https://github.com/liamwh/tree-sitter-wit/blob/main/grammar.js
https://github.com/zed-industries/zed/blob/79f364632535ef85c190fcf1be9834bbffc19c95/crates/extension_api/wit/since_v0.0.4/extension.wit
https://github.com/fermyon/spin/blob/436ad589237c02f7aa4693e984132808fd80b863/wit/mqtt.wit
https://github.com/bytecodealliance/wasmtime/blob/a068bfe06435a048502bf4afc426451dab5294af/crates/wasi-nn/wit/wasi-nn.wit
| -rw-r--r-- | queries/wit/folds.scm | 12 | ||||
| -rw-r--r-- | queries/wit/highlights.scm | 22 |
2 files changed, 30 insertions, 4 deletions
diff --git a/queries/wit/folds.scm b/queries/wit/folds.scm new file mode 100644 index 000000000..7f84ddd2e --- /dev/null +++ b/queries/wit/folds.scm @@ -0,0 +1,12 @@ +[ + (world_items) + (world_body) + (interface_items) + (interface_body) +] @fold + +(world_items + [ + (use_item) + (import_item) + ])+ @fold diff --git a/queries/wit/highlights.scm b/queries/wit/highlights.scm index bc9b59bb0..1f4b01cce 100644 --- a/queries/wit/highlights.scm +++ b/queries/wit/highlights.scm @@ -4,7 +4,7 @@ (id)) @type (package_decl - (id)) @module + (id) @module) (valid_semver) @string.special @@ -38,7 +38,7 @@ alias: (id) @type.definition) (func_item - name: (id) @function) + name: (id) @function.method) (handle (id) @type) @@ -62,7 +62,7 @@ name: (id) @type) (variant_case - name: (id) @type) + name: (id) @constant) (enum_items name: (id) @type) @@ -74,17 +74,26 @@ name: (id) @type) (resource_method + (id) @function.method) + +(resource_method "constructor" @constructor) (toplevel_use_item "use" @keyword.import) +(toplevel_use_item + alias: (id) @module) + (use_item "use" @keyword.import) (use_path (id) @module) +(use_names_item + (id) @module) + "func" @keyword.function [ @@ -105,6 +114,7 @@ "include" "import" "export" + "as" ] @keyword.import [ @@ -118,6 +128,8 @@ "s64" "f32" "f64" + "float32" ; deprecated + "float64" ; deprecated "char" "bool" "string" @@ -130,7 +142,7 @@ [ "@" - "->" + "_" ] @punctuation.special [ @@ -138,6 +150,8 @@ ";" ":" "," + "." + "->" ] @punctuation.delimiter [ |
