Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/julia/locals.scm')
-rw-r--r--runtime/queries/julia/locals.scm93
1 files changed, 75 insertions, 18 deletions
diff --git a/runtime/queries/julia/locals.scm b/runtime/queries/julia/locals.scm
index 70b31e50..bbf72c0e 100644
--- a/runtime/queries/julia/locals.scm
+++ b/runtime/queries/julia/locals.scm
@@ -2,43 +2,100 @@
; Definitions
; -----------
-; Imports
-(import_statement
+; Variables
+(assignment
(identifier) @local.definition)
-
+
+(assignment
+ (tuple_expression
+ (identifier) @local.definition))
+
; Constants
(const_statement
- (variable_declaration
+ (assignment
. (identifier) @local.definition))
+; let/const bindings
+(let_binding
+ (identifier) @local.definition)
+
+(let_binding
+ (tuple_expression
+ (identifier) @local.definition))
+
+; For bindings
+(for_binding
+ (identifier) @local.definition)
+
+(for_binding
+ (tuple_expression
+ (identifier) @local.definition))
+
+; Types
+(struct_definition
+ name: (identifier) @local.definition)
+
+(abstract_definition
+ name: (identifier) @local.definition)
+
+(abstract_definition
+ name: (identifier) @local.definition)
+
+(type_parameter_list
+ (identifier) @local.definition)
+
+; Module imports
+(import_statement
+ (identifier) @local.definition)
+
; Parameters
(parameter_list
(identifier) @local.definition)
-(typed_parameter
- . (identifier) @local.definition)
-
-(optional_parameter .
+(optional_parameter
+ .
(identifier) @local.definition)
(slurp_parameter
(identifier) @local.definition)
+(typed_parameter
+ parameter: (identifier) @local.definition
+ (_))
+
+; Single parameter arrow function
(function_expression
- . (identifier) @local.definition)
-
-; ------
-; Scopes
-; ------
+ .
+ (identifier) @local.definition)
-[
- (function_definition)
- (short_function_definition)
- (macro_definition)
-] @local.scope
+; Function/macro definitions
+(function_definition
+ name: (identifier) @local.definition) @local.scope
+
+(short_function_definition
+ name: (identifier) @local.definition) @local.scope
+
+(macro_definition
+ name: (identifier) @local.definition) @local.scope
; ----------
; References
; ----------
(identifier) @local.reference
+
+; ------
+; Scopes
+; ------
+
+[
+ (for_statement)
+ (while_statement)
+ (try_statement)
+ (catch_clause)
+ (finally_clause)
+ (let_statement)
+ (quote_statement)
+ (do_clause)
+] @local.scope
+