diff options
| author | Pieter Goetschalckx <pieter@gtschlckx.be> | 2020-09-21 02:11:46 +0200 |
|---|---|---|
| committer | Stephan Seitz <stephan.lauf@yahoo.de> | 2020-09-21 08:54:30 +0200 |
| commit | a8c8de13ae3b3cb2864afc37895e4eecc5280fcc (patch) | |
| tree | f20bb017117c1abdf237c7b624ea62983b2959ee /queries/ocaml | |
| parent | Improve OCaml highlights (diff) | |
| download | nvim-treesitter-a8c8de13ae3b3cb2864afc37895e4eecc5280fcc.tar nvim-treesitter-a8c8de13ae3b3cb2864afc37895e4eecc5280fcc.tar.gz nvim-treesitter-a8c8de13ae3b3cb2864afc37895e4eecc5280fcc.tar.bz2 nvim-treesitter-a8c8de13ae3b3cb2864afc37895e4eecc5280fcc.tar.lz nvim-treesitter-a8c8de13ae3b3cb2864afc37895e4eecc5280fcc.tar.xz nvim-treesitter-a8c8de13ae3b3cb2864afc37895e4eecc5280fcc.tar.zst nvim-treesitter-a8c8de13ae3b3cb2864afc37895e4eecc5280fcc.zip | |
Improve OCaml locals
Diffstat (limited to 'queries/ocaml')
| -rw-r--r-- | queries/ocaml/locals.scm | 61 |
1 files changed, 58 insertions, 3 deletions
diff --git a/queries/ocaml/locals.scm b/queries/ocaml/locals.scm index ec5ab928e..9321ced2e 100644 --- a/queries/ocaml/locals.scm +++ b/queries/ocaml/locals.scm @@ -2,21 +2,76 @@ ;------- [ + (compilation_unit) + (structure) + (signature) + (module_binding) + (functor) (let_binding) + (match_case) (class_binding) (class_function) (method_definition) + (let_expression) (fun_expression) - (match_case) (for_expression) + (let_class_expression) + (object_expression) + (attribute_payload) ] @scope ; Definitions ;------------ -(value_pattern) @definition +(value_pattern) @definition.var + +(let_binding + pattern: (value_name) @definition.var + (set! definition.var.scope "parent")) + +(let_binding + pattern: (tuple_pattern (value_name) @definition.var) + (set! definition.var.scope "parent")) + +(let_binding + pattern: (record_pattern (field_pattern (value_name) @definition.var)) + (set! definition.var.scope "parent")) + +(external (value_name) @definition.var) + +(type_binding (type_constructor) @definition.type) + +(abstract_type (type_constructor) @definition.type) + +(method_definition (method_name) @definition.method) + +(module_binding + (module_name) @definition.namespace + (set! definition.namespace.scope "parent")) + +(module_parameter (module_name) @definition.namespace) + +(module_type_definition (module_type_name) @definition.type) ; References ;------------ -(value_name) @reference +(value_path . + (value_name) @reference + (set! reference.kind "var")) + +(type_constructor_path . + (type_constructor) @reference + (set! reference.kind "type")) + +(method_invocation + (method_name) @reference + (set! reference.kind "method")) + +(module_path . + (module_name) @reference + (set! reference.kind "type")) + +(module_type_path . + (module_type_name) @reference + (set! reference.kind "type")) |
