diff options
| author | Chinmay Dalal <chinmay.dalal.22012001@gmail.com> | 2020-07-19 17:41:24 +0000 |
|---|---|---|
| committer | Thomas Vigouroux <39092278+vigoux@users.noreply.github.com> | 2020-07-27 11:08:13 +0200 |
| commit | 656a5c406446cc908f7c196e1deef9513951239a (patch) | |
| tree | 185a8a6f97871462d26443dda85c2b672320a6e7 /queries/java | |
| parent | Predicates: remove function unlispify and use Lisp names directly (diff) | |
| download | nvim-treesitter-656a5c406446cc908f7c196e1deef9513951239a.tar nvim-treesitter-656a5c406446cc908f7c196e1deef9513951239a.tar.gz nvim-treesitter-656a5c406446cc908f7c196e1deef9513951239a.tar.bz2 nvim-treesitter-656a5c406446cc908f7c196e1deef9513951239a.tar.lz nvim-treesitter-656a5c406446cc908f7c196e1deef9513951239a.tar.xz nvim-treesitter-656a5c406446cc908f7c196e1deef9513951239a.tar.zst nvim-treesitter-656a5c406446cc908f7c196e1deef9513951239a.zip | |
Add Java locals
Co-authored: @PitcherTear22
Diffstat (limited to 'queries/java')
| -rw-r--r-- | queries/java/locals.scm | 71 |
1 files changed, 65 insertions, 6 deletions
diff --git a/queries/java/locals.scm b/queries/java/locals.scm index 56c629f4e..4c19e4644 100644 --- a/queries/java/locals.scm +++ b/queries/java/locals.scm @@ -1,10 +1,69 @@ -; CREDITS @maxbrunsfeld (maxbrunsfeld@gmail.com) - +; SCOPES +; declarations +(program) @scope (class_declaration - name: (identifier) @name) @class + body: (_) @scope) +(enum_declaration + body: (_) @scope) +(method_declaration) @scope ; whole method_declaration because arguments + +; block +(block) @scope + +; if/else +(if_statement) @scope ; if+else +(if_statement + consequence: (_) @scope) ; if body in case there are no braces +(if_statement + alternative: (_) @scope) ; else body in case there are no braces + +; try/catch +(try_statement) @scope ; covers try+catch, individual try and catch are covered by (block) +(catch_clause) @scope ; needed because `Exception` variable +; loops +(for_statement) @scope ; whole for_statement because loop iterator variable +(for_statement ; "for" body in case there are no braces + body: (_) @scope) +(do_statement + body: (_) @scope) +(while_statement + body: (_) @scope) + +; Functions + +(constructor_declaration) @scope (method_declaration - name: (identifier) @name) @method + name: (identifier) @definition.scope) @scope + + +; DEFINITIONS + (package_declaration + (identifier) @definition.namespace) +(class_declaration + name: (identifier) @definition.class) +(enum_declaration + name: (identifier) @definition.enum) +(method_declaration + name: (identifier) @definition.method) + +(local_variable_declaration + declarator: (variable_declarator + name: (identifier) @definition.var)) +(formal_parameter + name: (identifier) @definition.var) +(inferred_parameters (identifier) @definition.var) ; (x,y) -> ... +(lambda_expression + parameters: (identifier) @definition.var) ; x -> ... + +(scoped_identifier + ((identifier) @definition.import)) + +(field_declaration + declarator: (variable_declarator + name: (identifier) @definition.field)) -(method_invocation - name: (identifier) @name) @call +; REFERENCES +(identifier) @reference +((type_identifier) @reference + (set! reference.kind "type")) |
