diff options
| author | Tomohiro Hashidate <kakyoin.hierophant@gmail.com> | 2023-12-01 01:22:29 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-01 01:22:29 +0900 |
| commit | b41bbcbb9a2c5543d3bfa4cf7e2b0948a5f61ce6 (patch) | |
| tree | 12070e4326d991e022a69db22ee2c38561987388 /queries | |
| parent | feat(nim): added some captures and fixed some bugs (#5664) (diff) | |
| download | nvim-treesitter-b41bbcbb9a2c5543d3bfa4cf7e2b0948a5f61ce6.tar nvim-treesitter-b41bbcbb9a2c5543d3bfa4cf7e2b0948a5f61ce6.tar.gz nvim-treesitter-b41bbcbb9a2c5543d3bfa4cf7e2b0948a5f61ce6.tar.bz2 nvim-treesitter-b41bbcbb9a2c5543d3bfa4cf7e2b0948a5f61ce6.tar.lz nvim-treesitter-b41bbcbb9a2c5543d3bfa4cf7e2b0948a5f61ce6.tar.xz nvim-treesitter-b41bbcbb9a2c5543d3bfa4cf7e2b0948a5f61ce6.tar.zst nvim-treesitter-b41bbcbb9a2c5543d3bfa4cf7e2b0948a5f61ce6.zip | |
feat: add rbs parser support (#5745)
Diffstat (limited to 'queries')
| -rw-r--r-- | queries/rbs/folds.scm | 5 | ||||
| -rw-r--r-- | queries/rbs/highlights.scm | 117 | ||||
| -rw-r--r-- | queries/rbs/indents.scm | 24 | ||||
| -rw-r--r-- | queries/rbs/injections.scm | 2 |
4 files changed, 148 insertions, 0 deletions
diff --git a/queries/rbs/folds.scm b/queries/rbs/folds.scm new file mode 100644 index 000000000..ff8e7c588 --- /dev/null +++ b/queries/rbs/folds.scm @@ -0,0 +1,5 @@ +[ + (class_decl) + (module_decl) + (interface_decl) +] @fold diff --git a/queries/rbs/highlights.scm b/queries/rbs/highlights.scm new file mode 100644 index 000000000..e985e8e0a --- /dev/null +++ b/queries/rbs/highlights.scm @@ -0,0 +1,117 @@ +; Use directive + +(use_clause + [ + (type_name) + (simple_type_name) + ] @type) + +; Buitin constants and Keywords + +[ + "true" + "false" +] @boolean + +"nil" @constant.builtin + +[ + "use" + "as" + "class" + "module" + "interface" + "type" + "def" + "attr_reader" + "attr_writer" + "attr_accessor" + "end" + "alias" +] @keyword + +"def" @keyword.function + +; Members of declaration + +[ + "include" + "extend" + "prepend" +] @function.method + +(visibility) @type.qualifier + +(comment) @comment @spell + +(method_member + (method_name + [ + (identifier) + (constant) + (operator) + (setter) + ] @method)) + +[(ivar_name) (cvar_name)] @property + +(alias_member (method_name) @function) + +(class_name (constant) @type) +(module_name (constant) @type) +(interface_name (interface) @type) +(alias_name (identifier) @type) +(type_variable) @constant +(namespace (constant) @namespace) + +(builtin_type) @type.builtin + +(const_name (constant) @constant) +(global_name) @property + +; Standard Arguments +(parameter (var_name) @parameter) + +; Keyword Arguments +(keyword) @parameter + +; Self +(self) @variable.builtin + +; Literal +(type (symbol_literal) @symbol) + +(type (string_literal (escape_sequence) @string.escape)) +(type (string_literal) @string) + +(type (integer_literal) @number) + +; Operators + +[ + "=" + "->" + "<" + "**" + "*" + "&" + "|" + "^" + ] @operator + +; Punctuation + +[ + "(" + ")" + "[" + "]" + "{" + "}" + ] @punctuation.bracket + + +[ + "," + "." + ] @punctuation.delimiter diff --git a/queries/rbs/indents.scm b/queries/rbs/indents.scm new file mode 100644 index 000000000..f6da5b10b --- /dev/null +++ b/queries/rbs/indents.scm @@ -0,0 +1,24 @@ +[ + (class_decl) + (module_decl) + (interface_decl) + (parameters) + (tuple_type) + (record_type) +] @indent.begin + +[ + "end" + ")" + "]" + "}" +] @indent.end + +[ + "end" + ")" + "}" + "]" +] @indent.branch + +(comment) @indent.auto diff --git a/queries/rbs/injections.scm b/queries/rbs/injections.scm new file mode 100644 index 000000000..321c90add --- /dev/null +++ b/queries/rbs/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment")) |
