summaryrefslogtreecommitdiff
path: root/queries/julia/locals.scm
diff options
context:
space:
mode:
authormvink <mike1994vink@gmail.com>2022-11-16 12:43:46 +0100
committerGitHub <noreply@github.com>2022-11-16 12:43:46 +0100
commit5e255e41669f1f7c985bc0f44a5f551b8caebaf3 (patch)
tree6f01b4bc2ad83a6f6455b47c71c9b797a3dee3ea /queries/julia/locals.scm
parentfdaab4dff7768fd63430fb29f80cb7ebea6fe887 (diff)
parentdc27512e0019dcf4b6fbf0e0d5f285b4c9858308 (diff)
Merge branch 'nvim-treesitter:master' into masterHEADmaster
Diffstat (limited to 'queries/julia/locals.scm')
-rw-r--r--queries/julia/locals.scm84
1 files changed, 52 insertions, 32 deletions
diff --git a/queries/julia/locals.scm b/queries/julia/locals.scm
index f8b34f71..655affe0 100644
--- a/queries/julia/locals.scm
+++ b/queries/julia/locals.scm
@@ -1,59 +1,79 @@
+;;; Variables
+(assignment_expression
+ (identifier) @definition.var)
+(assignment_expression
+ (tuple_expression
+ (identifier) @definition.var))
-(import_statement
- (identifier) @definition.import)
+;;; let/const bindings
(variable_declaration
(identifier) @definition.var)
(variable_declaration
(tuple_expression
(identifier) @definition.var))
+
+
+;;; For bindings
(for_binding
- (identifier) @definition.var)
+ (identifier) @definition.var)
(for_binding
- (tuple_expression
- (identifier) @definition.var))
+ (tuple_expression
+ (identifier) @definition.var))
-(assignment_expression
- (tuple_expression
- (identifier) @definition.var))
-(assignment_expression
- (bare_tuple_expression
- (identifier) @definition.var))
-(assignment_expression
- (identifier) @definition.var)
-(type_parameter_list
- (identifier) @definition.type)
-(type_argument_list
- (identifier) @definition.type)
+;;; Types
+
(struct_definition
name: (identifier) @definition.type)
+(abstract_definition
+ name: (identifier) @definition.type)
+(abstract_definition
+ name: (identifier) @definition.type)
+
+(type_parameter_list
+ (identifier) @definition.type)
+
+;;; Module imports
+
+(import_statement
+ (identifier) @definition.import)
+
+
+;;; Parameters
(parameter_list
- (identifier) @definition.parameter)
+ (identifier) @definition.parameter)
+(optional_parameter .
+ (identifier) @definition.parameter)
+(slurp_parameter
+ (identifier) @definition.parameter)
+
(typed_parameter
- (identifier) @definition.parameter
- (identifier))
+ parameter: (identifier) @definition.parameter
+ (_))
+
(function_expression
- . (identifier) @definition.parameter)
-(argument_list
- (typed_expression
- (identifier) @definition.parameter
- (identifier)))
-(spread_parameter
- (identifier) @definition.parameter)
+ . (identifier) @definition.parameter) ;; Single parameter arrow function
+
+
+;;; Function/macro definitions
(function_definition
- name: (identifier) @definition.function) @scope
+ name: (identifier) @definition.function) @scope
+(short_function_definition
+ name: (identifier) @definition.function) @scope
(macro_definition
- name: (identifier) @definition.macro) @scope
+ name: (identifier) @definition.macro) @scope
(identifier) @reference
[
+ (for_statement)
+ (while_statement)
(try_statement)
+ (catch_clause)
(finally_clause)
- (quote_statement)
(let_statement)
- (compound_expression)
- (for_statement)
+ (quote_statement)
+ (do_clause)
] @scope