@buildautomaton/cli 0.1.54 → 0.1.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/cli.js +4404 -746
  2. package/dist/cli.js.map +4 -4
  3. package/dist/code-nav-cache-migrations/000_bootstrap_migrations_table.sql +4 -0
  4. package/dist/code-nav-cache-migrations/001_code_nav_cache_checkpoint_v1.sql +84 -0
  5. package/dist/code-nav-cache-migrations/002_code_nav_scope_chain.sql +15 -0
  6. package/dist/code-nav-cache-migrations/002_content_hash_symbol_index.sql +50 -0
  7. package/dist/code-nav-cache-migrations/002_symbol_index_context.sql +3 -0
  8. package/dist/code-nav-cache-migrations/003_code_nav_query_indexes.sql +5 -0
  9. package/dist/code-nav-cache-migrations/003_content_hash_tag_rows.sql +61 -0
  10. package/dist/code-nav-cache-migrations/003_symbol_index_parent_scope.sql +2 -0
  11. package/dist/code-nav-cache-migrations/004_symbol_index_import.sql +19 -0
  12. package/dist/code-nav-cache-migrations/005_symbol_index_member_parent_scope.sql +2 -0
  13. package/dist/index.js +4390 -732
  14. package/dist/index.js.map +4 -4
  15. package/dist/migrations/004_code_nav_symbol_index.sql +23 -0
  16. package/dist/migrations/005_code_nav_index_version.sql +1 -0
  17. package/dist/migrations/006_drop_cache_tables.sql +5 -0
  18. package/dist/tree-sitter/tree-sitter-c/tags.scm +32 -0
  19. package/dist/tree-sitter/tree-sitter-c.wasm +0 -0
  20. package/dist/tree-sitter/tree-sitter-cpp/tags.scm +51 -0
  21. package/dist/tree-sitter/tree-sitter-cpp.wasm +0 -0
  22. package/dist/tree-sitter/tree-sitter-go/tags.scm +64 -0
  23. package/dist/tree-sitter/tree-sitter-go.wasm +0 -0
  24. package/dist/tree-sitter/tree-sitter-java/tags.scm +52 -0
  25. package/dist/tree-sitter/tree-sitter-java.wasm +0 -0
  26. package/dist/tree-sitter/tree-sitter-javascript/tags.scm +143 -0
  27. package/dist/tree-sitter/tree-sitter-javascript.wasm +0 -0
  28. package/dist/tree-sitter/tree-sitter-python/tags.scm +39 -0
  29. package/dist/tree-sitter/tree-sitter-python.wasm +0 -0
  30. package/dist/tree-sitter/tree-sitter-ruby/tags.scm +73 -0
  31. package/dist/tree-sitter/tree-sitter-ruby.wasm +0 -0
  32. package/dist/tree-sitter/tree-sitter-rust/tags.scm +71 -0
  33. package/dist/tree-sitter/tree-sitter-rust.wasm +0 -0
  34. package/dist/tree-sitter/tree-sitter-tsx.wasm +0 -0
  35. package/dist/tree-sitter/tree-sitter-typescript/tags.scm +96 -0
  36. package/dist/tree-sitter/tree-sitter-typescript.wasm +0 -0
  37. package/dist/tree-sitter/web-tree-sitter.wasm +0 -0
  38. package/package.json +17 -2
@@ -0,0 +1,23 @@
1
+ CREATE TABLE IF NOT EXISTS symbol_index_parent_path (
2
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
3
+ path TEXT NOT NULL UNIQUE,
4
+ path_hash TEXT NOT NULL,
5
+ updated_at TEXT NOT NULL
6
+ );
7
+
8
+ CREATE TABLE IF NOT EXISTS symbol_index_tag (
9
+ parent_id INTEGER NOT NULL,
10
+ file_path TEXT NOT NULL,
11
+ name TEXT NOT NULL,
12
+ role TEXT NOT NULL,
13
+ kind TEXT NOT NULL,
14
+ start_line INTEGER NOT NULL,
15
+ start_column INTEGER NOT NULL,
16
+ end_line INTEGER NOT NULL,
17
+ end_column INTEGER NOT NULL,
18
+ PRIMARY KEY (parent_id, file_path, start_line, start_column, role, kind, name),
19
+ FOREIGN KEY (parent_id) REFERENCES symbol_index_parent_path(id) ON DELETE CASCADE
20
+ );
21
+
22
+ CREATE INDEX IF NOT EXISTS idx_symbol_index_tag_parent_name ON symbol_index_tag(parent_id, name);
23
+ CREATE INDEX IF NOT EXISTS idx_symbol_index_tag_parent_file ON symbol_index_tag(parent_id, file_path);
@@ -0,0 +1 @@
1
+ ALTER TABLE symbol_index_parent_path ADD COLUMN index_version INTEGER NOT NULL DEFAULT 1;
@@ -0,0 +1,5 @@
1
+ DROP INDEX IF EXISTS idx_file_index_child_path_parent;
2
+ DROP TABLE IF EXISTS file_index_child_path;
3
+ DROP TABLE IF EXISTS file_index_parent_path;
4
+ DROP INDEX IF EXISTS idx_file_index_path_cwd;
5
+ DROP TABLE IF EXISTS file_index_path;
@@ -0,0 +1,32 @@
1
+ (struct_specifier name: (type_identifier) @name body:(_)) @definition.class
2
+
3
+ (declaration type: (union_specifier name: (type_identifier) @name)) @definition.class
4
+
5
+ (function_declarator declarator: (identifier) @name) @definition.function
6
+
7
+ (type_definition declarator: (type_identifier) @name) @definition.type
8
+
9
+ (enum_specifier name: (type_identifier) @name) @definition.type
10
+
11
+ (parameter_declaration
12
+ declarator: (identifier) @name) @definition.parameter
13
+
14
+ (declaration
15
+ declarator: (init_declarator
16
+ declarator: (identifier) @name)) @definition.variable
17
+
18
+ (preproc_include
19
+ path: (string_literal) @name) @reference.module
20
+
21
+ (call_expression
22
+ function: (identifier) @name) @reference.call
23
+
24
+ (type_identifier) @name @reference.type
25
+
26
+ [
27
+ (binary_expression left: (identifier) @name)
28
+ (binary_expression right: (identifier) @name)
29
+ (return_statement (identifier) @name)
30
+ (argument_list (identifier) @name)
31
+ (assignment_expression right: (identifier) @name)
32
+ ] @reference.variable
@@ -0,0 +1,51 @@
1
+ (struct_specifier name: (type_identifier) @name body:(_)) @definition.class
2
+
3
+ (declaration type: (union_specifier name: (type_identifier) @name)) @definition.class
4
+
5
+ (function_declarator declarator: (identifier) @name) @definition.function
6
+
7
+ (function_declarator declarator: (field_identifier) @name) @definition.function
8
+
9
+ (function_declarator declarator: (qualified_identifier scope: (namespace_identifier) @local.scope name: (identifier) @name)) @definition.method
10
+
11
+ (type_definition declarator: (type_identifier) @name) @definition.type
12
+
13
+ (enum_specifier name: (type_identifier) @name) @definition.type
14
+
15
+ (class_specifier name: (type_identifier) @name) @definition.class
16
+
17
+ (type_parameter_declaration
18
+ (type_parameter
19
+ name: (type_identifier) @name)) @definition.type
20
+
21
+ (template_type_parameter
22
+ name: (type_identifier) @name) @definition.type
23
+
24
+ (parameter_declaration
25
+ declarator: (identifier) @name) @definition.parameter
26
+
27
+ (declaration
28
+ declarator: (init_declarator
29
+ declarator: (identifier) @name)) @definition.variable
30
+
31
+ (preproc_include
32
+ path: (string_literal) @name) @reference.module
33
+
34
+ (namespace_definition
35
+ name: (namespace_identifier) @name) @definition.module
36
+
37
+ (call_expression
38
+ function: (identifier) @name) @reference.call
39
+
40
+ (type_identifier) @name @reference.type
41
+
42
+ (template_argument
43
+ (type_identifier) @name) @reference.type
44
+
45
+ [
46
+ (binary_expression left: (identifier) @name)
47
+ (binary_expression right: (identifier) @name)
48
+ (return_statement (identifier) @name)
49
+ (argument_list (identifier) @name)
50
+ (assignment_expression right: (identifier) @name)
51
+ ] @reference.variable
@@ -0,0 +1,64 @@
1
+ (
2
+ (comment)* @doc
3
+ .
4
+ (function_declaration
5
+ name: (identifier) @name) @definition.function
6
+ (#strip! @doc "^//\\s*")
7
+ (#set-adjacent! @doc @definition.function)
8
+ )
9
+
10
+ (
11
+ (comment)* @doc
12
+ .
13
+ (method_declaration
14
+ name: (field_identifier) @name) @definition.method
15
+ (#strip! @doc "^//\\s*")
16
+ (#set-adjacent! @doc @definition.method)
17
+ )
18
+
19
+ (type_spec
20
+ name: (type_identifier) @name) @definition.type
21
+
22
+ (type_parameter_declaration
23
+ (type_identifier) @name) @definition.type
24
+
25
+ (type_identifier) @name @reference.type
26
+
27
+ (call_expression
28
+ function: [
29
+ (identifier) @name
30
+ (parenthesized_expression (identifier) @name)
31
+ ]) @reference.call
32
+
33
+ (import_declaration
34
+ (import_spec
35
+ path: (interpreted_string_literal) @name)) @reference.module
36
+
37
+ (import_declaration
38
+ (import_spec
39
+ name: (package_identifier) @name)) @reference.import
40
+
41
+ (var_declaration
42
+ (var_spec
43
+ name: (identifier) @name)) @definition.variable
44
+
45
+ (const_declaration
46
+ (const_spec
47
+ name: (identifier) @name)) @definition.constant
48
+
49
+ (short_var_declaration
50
+ left: (expression_list (identifier) @name)) @definition.variable
51
+
52
+ (parameter_declaration
53
+ (identifier) @name) @definition.parameter
54
+
55
+ [
56
+ (binary_expression left: (identifier) @name)
57
+ (binary_expression right: (identifier) @name)
58
+ (return_statement (identifier) @name)
59
+ (argument_list (identifier) @name)
60
+ (assignment_statement left: (expression_list (identifier) @name))
61
+ (inc_statement (identifier) @name)
62
+ (dec_statement (identifier) @name)
63
+ (range_clause left: (expression_list (identifier) @name))
64
+ ] @reference.variable
@@ -0,0 +1,52 @@
1
+ (class_declaration
2
+ name: (identifier) @name) @definition.class
3
+
4
+ (method_declaration
5
+ name: (identifier) @name) @definition.method
6
+
7
+ (formal_parameters
8
+ (formal_parameter
9
+ name: (identifier) @name)) @definition.parameter
10
+
11
+ (local_variable_declaration
12
+ declarator: (variable_declarator
13
+ name: (identifier) @name)) @definition.variable
14
+
15
+ (field_declaration
16
+ declarator: (variable_declarator
17
+ name: (identifier) @name)) @definition.variable
18
+
19
+ (interface_declaration
20
+ name: (identifier) @name) @definition.interface
21
+
22
+ (type_parameter
23
+ (type_identifier) @name) @definition.type
24
+
25
+ (import_declaration
26
+ (scoped_identifier) @name) @reference.import
27
+
28
+ (import_declaration
29
+ (identifier) @name) @reference.import
30
+
31
+ (method_invocation
32
+ name: (identifier) @name
33
+ arguments: (argument_list)) @reference.call
34
+
35
+ (type_list
36
+ (type_identifier) @name) @reference.implementation
37
+
38
+ (object_creation_expression
39
+ type: (type_identifier) @name) @reference.class
40
+
41
+ (superclass (type_identifier) @name) @reference.class
42
+
43
+ (type_identifier) @name @reference.type
44
+
45
+ [
46
+ (assignment_expression left: (identifier) @name)
47
+ (assignment_expression right: (identifier) @name)
48
+ (return_statement (identifier) @name)
49
+ (argument_list (identifier) @name)
50
+ (binary_expression left: (identifier) @name)
51
+ (binary_expression right: (identifier) @name)
52
+ ] @reference.variable
@@ -0,0 +1,143 @@
1
+ (
2
+ (comment)* @doc
3
+ .
4
+ (method_definition
5
+ name: (property_identifier) @name) @definition.method
6
+ (#not-eq? @name "constructor")
7
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
8
+ (#select-adjacent! @doc @definition.method)
9
+ )
10
+
11
+ (
12
+ (comment)* @doc
13
+ .
14
+ [
15
+ (class
16
+ name: (_) @name)
17
+ (class_declaration
18
+ name: (_) @name)
19
+ ] @definition.class
20
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
21
+ (#select-adjacent! @doc @definition.class)
22
+ )
23
+
24
+ (
25
+ (comment)* @doc
26
+ .
27
+ [
28
+ (function_expression
29
+ name: (identifier) @name)
30
+ (function_declaration
31
+ name: (identifier) @name)
32
+ (generator_function
33
+ name: (identifier) @name)
34
+ (generator_function_declaration
35
+ name: (identifier) @name)
36
+ ] @definition.function
37
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
38
+ (#select-adjacent! @doc @definition.function)
39
+ )
40
+
41
+ (
42
+ (comment)* @doc
43
+ .
44
+ (lexical_declaration
45
+ (variable_declarator
46
+ name: (identifier) @name
47
+ value: [(arrow_function) (function_expression)]) @definition.function)
48
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
49
+ (#select-adjacent! @doc @definition.function)
50
+ )
51
+
52
+ (
53
+ (comment)* @doc
54
+ .
55
+ (variable_declaration
56
+ (variable_declarator
57
+ name: (identifier) @name
58
+ value: [(arrow_function) (function_expression)]) @definition.function)
59
+ (#strip! @doc "^[\\s\\*/]+|^[\\s\\*/]$")
60
+ (#select-adjacent! @doc @definition.function)
61
+ )
62
+
63
+ (assignment_expression
64
+ left: [
65
+ (identifier) @name
66
+ ]
67
+ right: [(arrow_function) (function_expression)]
68
+ ) @definition.function
69
+
70
+ (pair
71
+ key: (property_identifier) @name
72
+ value: [(arrow_function) (function_expression)]) @definition.function
73
+
74
+ (lexical_declaration
75
+ (variable_declarator
76
+ name: (identifier) @name)) @definition.variable
77
+
78
+ (variable_declaration
79
+ (variable_declarator
80
+ name: (identifier) @name)) @definition.variable
81
+
82
+ (formal_parameters
83
+ (identifier) @name) @definition.parameter
84
+
85
+ (
86
+ (call_expression
87
+ function: (identifier) @name) @reference.call
88
+ (#not-match? @name "^(require)$")
89
+ )
90
+
91
+ (new_expression
92
+ constructor: (_) @name) @reference.class
93
+
94
+ (import_statement
95
+ source: (string
96
+ (string_fragment) @name)) @reference.module
97
+
98
+ (import_clause
99
+ (identifier) @name) @reference.import
100
+
101
+ (namespace_import
102
+ (identifier) @name) @reference.import
103
+
104
+ (import_specifier
105
+ name: (identifier) @name) @reference.import
106
+
107
+ (import_specifier
108
+ alias: (identifier) @name) @reference.import
109
+
110
+ (export_statement
111
+ source: (string
112
+ (string_fragment) @name)) @reference.module
113
+
114
+ [
115
+ (binary_expression left: (identifier) @name)
116
+ (binary_expression right: (identifier) @name)
117
+ (unary_expression (identifier) @name)
118
+ (return_statement (identifier) @name)
119
+ (array (identifier) @name)
120
+ (arguments (identifier) @name)
121
+ (variable_declarator value: (identifier) @name)
122
+ (assignment_expression right: (identifier) @name)
123
+ (pair value: (identifier) @name)
124
+ (await_expression (identifier) @name)
125
+ (yield_expression (identifier) @name)
126
+ (subscript_expression object: (identifier) @name)
127
+ (shorthand_property_identifier) @name
128
+ (ternary_expression condition: (identifier) @name)
129
+ (ternary_expression consequence: (identifier) @name)
130
+ (ternary_expression alternative: (identifier) @name)
131
+ (template_substitution (identifier) @name)
132
+ ] @reference.variable
133
+
134
+ (export_statement value: (assignment_expression left: (identifier) @name right: ([
135
+ (number)
136
+ (string)
137
+ (identifier)
138
+ (undefined)
139
+ (null)
140
+ (new_expression)
141
+ (binary_expression)
142
+ (call_expression)
143
+ ]))) @definition.constant
@@ -0,0 +1,39 @@
1
+ (module (expression_statement (assignment left: (identifier) @name) @definition.constant))
2
+
3
+ (class_definition
4
+ name: (identifier) @name) @definition.class
5
+
6
+ (function_definition
7
+ name: (identifier) @name) @definition.function
8
+
9
+ (parameters
10
+ (identifier) @name) @definition.parameter
11
+
12
+ (assignment
13
+ left: (identifier) @name) @definition.variable
14
+
15
+ (import_statement
16
+ name: (dotted_name) @name) @reference.module
17
+
18
+ (import_from_statement
19
+ module_name: (dotted_name) @name) @reference.module
20
+
21
+ (import_from_statement
22
+ name: (dotted_name) @name) @reference.import
23
+
24
+ (call
25
+ function: (identifier) @name) @reference.call
26
+
27
+ [
28
+ (binary_operator left: (identifier) @name)
29
+ (binary_operator right: (identifier) @name)
30
+ (return_statement (identifier) @name)
31
+ (argument_list (identifier) @name)
32
+ (assignment right: (identifier) @name)
33
+ (subscript value: (identifier) @name)
34
+ (comparison_operator (identifier) @name)
35
+ (conditional_expression (identifier) @name)
36
+ ] @reference.variable
37
+
38
+ (type
39
+ (identifier) @name) @reference.type
@@ -0,0 +1,73 @@
1
+ (
2
+ (comment)* @doc
3
+ .
4
+ [
5
+ (method
6
+ name: (_) @name) @definition.method
7
+ (singleton_method
8
+ name: (_) @name) @definition.method
9
+ ]
10
+ (#strip! @doc "^#\\s*")
11
+ (#select-adjacent! @doc @definition.method)
12
+ )
13
+
14
+ (alias
15
+ name: (_) @name) @definition.method
16
+
17
+ (setter
18
+ (identifier) @ignore)
19
+
20
+ (
21
+ (comment)* @doc
22
+ .
23
+ [
24
+ (class
25
+ name: [
26
+ (constant) @name
27
+ (scope_resolution
28
+ name: (_) @name)
29
+ ]) @definition.class
30
+ (singleton_class
31
+ value: [
32
+ (constant) @name
33
+ (scope_resolution
34
+ name: (_) @name)
35
+ ]) @definition.class
36
+ ]
37
+ (#strip! @doc "^#\\s*")
38
+ (#select-adjacent! @doc @definition.class)
39
+ )
40
+
41
+ (
42
+ (module
43
+ name: [
44
+ (constant) @name
45
+ (scope_resolution
46
+ name: (_) @name)
47
+ ]) @definition.module
48
+ )
49
+
50
+ (call method: (identifier) @name) @reference.call
51
+
52
+ (
53
+ [(identifier) (constant)] @name @reference.call
54
+ (#is-not? local)
55
+ (#not-match? @name "^(lambda|load|require|require_relative|__FILE__|__LINE__)$")
56
+ )
57
+
58
+ (call
59
+ arguments: (argument_list (identifier) @name)) @reference.variable
60
+
61
+ (assignment
62
+ left: (identifier) @name) @definition.variable
63
+
64
+ (parameters
65
+ (identifier) @name) @definition.parameter
66
+
67
+ [
68
+ (binary left: (identifier) @name)
69
+ (binary right: (identifier) @name)
70
+ (return (identifier) @name)
71
+ (unless (identifier) @name)
72
+ (if (identifier) @name)
73
+ ] @reference.variable
@@ -0,0 +1,71 @@
1
+ (struct_item
2
+ name: (type_identifier) @name) @definition.class
3
+
4
+ (enum_item
5
+ name: (type_identifier) @name) @definition.class
6
+
7
+ (union_item
8
+ name: (type_identifier) @name) @definition.class
9
+
10
+ (type_item
11
+ name: (type_identifier) @name) @definition.class
12
+
13
+ (type_parameters
14
+ (type_parameter
15
+ name: (type_identifier) @name)) @definition.type
16
+
17
+ (declaration_list
18
+ (function_item
19
+ name: (identifier) @name)) @definition.method
20
+
21
+ (function_item
22
+ name: (identifier) @name) @definition.function
23
+
24
+ (trait_item
25
+ name: (type_identifier) @name) @definition.interface
26
+
27
+ (mod_item
28
+ name: (identifier) @name) @definition.module
29
+
30
+ (macro_definition
31
+ name: (identifier) @name) @definition.macro
32
+
33
+ (use_declaration
34
+ argument: (identifier) @name) @reference.import
35
+
36
+ (use_declaration
37
+ argument: (scoped_identifier
38
+ name: (identifier) @name)) @reference.import
39
+
40
+ (call_expression
41
+ function: (identifier) @name) @reference.call
42
+
43
+ (macro_invocation
44
+ macro: (identifier) @name) @reference.call
45
+
46
+ (impl_item
47
+ trait: (type_identifier) @name) @reference.implementation
48
+
49
+ (impl_item
50
+ type: (type_identifier) @name
51
+ !trait) @reference.implementation
52
+
53
+ (type_arguments
54
+ (type_identifier) @name) @reference.type
55
+
56
+ (generic_type
57
+ type: (type_identifier) @name) @reference.type
58
+
59
+ [
60
+ (binary_expression left: (identifier) @name)
61
+ (binary_expression right: (identifier) @name)
62
+ (unary_expression (identifier) @name)
63
+ (return_expression (identifier) @name)
64
+ (arguments (identifier) @name)
65
+ (assignment_expression left: (identifier) @name)
66
+ (let_declaration pattern: (identifier) @name)
67
+ ] @reference.variable
68
+
69
+ (parameters
70
+ (parameter
71
+ pattern: (identifier) @name)) @definition.parameter
@@ -0,0 +1,96 @@
1
+ (function_signature
2
+ name: (identifier) @name) @definition.function
3
+
4
+ (method_signature
5
+ name: (property_identifier) @name) @definition.method
6
+
7
+ (abstract_method_signature
8
+ name: (property_identifier) @name) @definition.method
9
+
10
+ (abstract_class_declaration
11
+ name: (type_identifier) @name) @definition.class
12
+
13
+ (module
14
+ name: (identifier) @name) @definition.module
15
+
16
+ (interface_declaration
17
+ name: (type_identifier) @name) @definition.interface
18
+
19
+ (type_parameter
20
+ name: (type_identifier) @name) @definition.type
21
+
22
+ (type_annotation
23
+ (type_identifier) @name) @reference.type
24
+
25
+ (type_predicate
26
+ (identifier) @name) @reference.variable
27
+
28
+ (new_expression
29
+ constructor: (identifier) @name) @reference.class
30
+
31
+ (function_declaration
32
+ name: (identifier) @name) @definition.function
33
+
34
+ (class_declaration
35
+ name: (type_identifier) @name) @definition.class
36
+
37
+ (type_alias_declaration
38
+ name: (type_identifier) @name) @definition.type
39
+
40
+ (enum_declaration
41
+ name: (identifier) @name) @definition.enum
42
+
43
+ (lexical_declaration
44
+ (variable_declarator
45
+ name: (identifier) @name)) @definition.variable
46
+
47
+ (variable_declaration
48
+ (variable_declarator
49
+ name: (identifier) @name)) @definition.variable
50
+
51
+ (required_parameter
52
+ (identifier) @name) @definition.parameter
53
+
54
+ (optional_parameter
55
+ (identifier) @name) @definition.parameter
56
+
57
+ (call_expression
58
+ function: (identifier) @name) @reference.call
59
+
60
+ (import_statement
61
+ source: (string
62
+ (string_fragment) @name)) @reference.module
63
+
64
+ (import_clause
65
+ (identifier) @name) @reference.import
66
+
67
+ (namespace_import
68
+ (identifier) @name) @reference.import
69
+
70
+ (import_specifier
71
+ name: (identifier) @name) @reference.import
72
+
73
+ (import_specifier
74
+ alias: (identifier) @name) @reference.import
75
+
76
+ [
77
+ (binary_expression left: (identifier) @name)
78
+ (binary_expression right: (identifier) @name)
79
+ (unary_expression (identifier) @name)
80
+ (return_statement (identifier) @name)
81
+ (array (identifier) @name)
82
+ (arguments (identifier) @name)
83
+ (variable_declarator value: (identifier) @name)
84
+ (assignment_expression right: (identifier) @name)
85
+ (pair value: (identifier) @name)
86
+ (await_expression (identifier) @name)
87
+ (yield_expression (identifier) @name)
88
+ (subscript_expression object: (identifier) @name)
89
+ (shorthand_property_identifier) @name
90
+ (ternary_expression condition: (identifier) @name)
91
+ (ternary_expression consequence: (identifier) @name)
92
+ (ternary_expression alternative: (identifier) @name)
93
+ (template_substitution (identifier) @name)
94
+ (non_null_expression (identifier) @name)
95
+ (as_expression (identifier) @name)
96
+ ] @reference.variable