aboutsummaryrefslogtreecommitdiffstats
path: root/queries/julia
diff options
context:
space:
mode:
authorSergio Alejandro Vargas <savargasqu+git@unal.edu.co>2022-11-02 16:21:44 -0500
committerChristian Clason <christian.clason@uni-due.de>2022-11-02 23:08:11 +0100
commita4b10b60c16ca141ca1dae538479889dd6932270 (patch)
treea8f5b7bbc90a271b42596fc0ee44a5ac05337e41 /queries/julia
parentrefactor(highlights/julia): Update definitions (diff)
downloadnvim-treesitter-a4b10b60c16ca141ca1dae538479889dd6932270.tar
nvim-treesitter-a4b10b60c16ca141ca1dae538479889dd6932270.tar.gz
nvim-treesitter-a4b10b60c16ca141ca1dae538479889dd6932270.tar.bz2
nvim-treesitter-a4b10b60c16ca141ca1dae538479889dd6932270.tar.lz
nvim-treesitter-a4b10b60c16ca141ca1dae538479889dd6932270.tar.xz
nvim-treesitter-a4b10b60c16ca141ca1dae538479889dd6932270.tar.zst
nvim-treesitter-a4b10b60c16ca141ca1dae538479889dd6932270.zip
refactor julia locals
Diffstat (limited to 'queries/julia')
-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