aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--queries/julia/locals.scm88
1 files changed, 56 insertions, 32 deletions
diff --git a/queries/julia/locals.scm b/queries/julia/locals.scm
index f8b34f71d..09b18cf77 100644
--- a/queries/julia/locals.scm
+++ b/queries/julia/locals.scm
@@ -1,59 +1,83 @@
+;;; Variables
+(assignment_expression
+ (identifier) @definition.var)
+(assignment_expression
+ (tuple_expression
+ (identifier) @definition.var))
+(assignment_expression
+ (bare_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