diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2023-06-12 09:54:30 -0600 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2025-05-12 18:43:40 +0200 |
| commit | 692b051b09935653befdb8f7ba8afdb640adf17b (patch) | |
| tree | 167162b6b129ae04f68c5735078521a72917c742 /runtime/queries/java/locals.scm | |
| parent | feat(c-family): inherit injections (diff) | |
| download | nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.gz nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.bz2 nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.lz nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.xz nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.zst nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.zip | |
feat!: drop modules, general refactor and cleanup
Diffstat (limited to 'runtime/queries/java/locals.scm')
| -rw-r--r-- | runtime/queries/java/locals.scm | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/runtime/queries/java/locals.scm b/runtime/queries/java/locals.scm new file mode 100644 index 000000000..53e950908 --- /dev/null +++ b/runtime/queries/java/locals.scm @@ -0,0 +1,100 @@ +; SCOPES +; declarations +(program) @local.scope + +(class_declaration + body: (_) @local.scope) + +(record_declaration + body: (_) @local.scope) + +(enum_declaration + body: (_) @local.scope) + +(lambda_expression) @local.scope + +(enhanced_for_statement) @local.scope + +; block +(block) @local.scope + +; if/else +(if_statement) @local.scope ; if+else + +(if_statement + consequence: (_) @local.scope) ; if body in case there are no braces + +(if_statement + alternative: (_) @local.scope) ; else body in case there are no braces + +; try/catch +(try_statement) @local.scope ; covers try+catch, individual try and catch are covered by (block) + +(catch_clause) @local.scope ; needed because `Exception` variable + +; loops +(for_statement) @local.scope ; whole for_statement because loop iterator variable + +(for_statement + ; "for" body in case there are no braces + body: (_) @local.scope) + +(do_statement + body: (_) @local.scope) + +(while_statement + body: (_) @local.scope) + +; Functions +(constructor_declaration) @local.scope + +(method_declaration) @local.scope + +; DEFINITIONS +(package_declaration + (identifier) @local.definition.namespace) + +(class_declaration + name: (identifier) @local.definition.type) + +(record_declaration + name: (identifier) @local.definition.type) + +(enum_declaration + name: (identifier) @local.definition.enum) + +(method_declaration + name: (identifier) @local.definition.method) + +(local_variable_declaration + declarator: (variable_declarator + name: (identifier) @local.definition.var)) + +(enhanced_for_statement + ; for (var item : items) { + name: (identifier) @local.definition.var) + +(formal_parameter + name: (identifier) @local.definition.parameter) + +(catch_formal_parameter + name: (identifier) @local.definition.parameter) + +(inferred_parameters + (identifier) @local.definition.parameter) ; (x,y) -> ... + +(lambda_expression + parameters: (identifier) @local.definition.parameter) ; x -> ... + +((scoped_identifier + (identifier) @local.definition.import) + (#has-ancestor? @local.definition.import import_declaration)) + +(field_declaration + declarator: (variable_declarator + name: (identifier) @local.definition.field)) + +; REFERENCES +(identifier) @local.reference + +(type_identifier) @local.reference |
