@mnemonik/shared 6.48.0 → 6.51.0

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 (60) hide show
  1. package/dist/ast/astChunker.d.ts +124 -0
  2. package/dist/ast/astChunker.d.ts.map +1 -0
  3. package/dist/ast/astChunker.js +559 -0
  4. package/dist/ast/astChunker.js.map +1 -0
  5. package/dist/ast/grammars.d.ts +170 -0
  6. package/dist/ast/grammars.d.ts.map +1 -0
  7. package/dist/ast/grammars.js +411 -0
  8. package/dist/ast/grammars.js.map +1 -0
  9. package/dist/codeScanner.d.ts +106 -0
  10. package/dist/codeScanner.d.ts.map +1 -1
  11. package/dist/codeScanner.js +552 -62
  12. package/dist/codeScanner.js.map +1 -1
  13. package/dist/index.d.ts +3 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +3 -1
  16. package/dist/index.js.map +1 -1
  17. package/package.json +3 -2
  18. package/queries/bash.tags.scm +7 -0
  19. package/queries/groovy.tags.scm +15 -0
  20. package/queries/powershell.tags.scm +14 -0
  21. package/scripts/vendor-grammars.ts +317 -0
  22. package/src/ast/astChunker.ts +661 -0
  23. package/src/ast/grammars.ts +490 -0
  24. package/src/codeScanner.ts +577 -63
  25. package/src/index.ts +25 -0
  26. package/wasm/bash.tags.scm +7 -0
  27. package/wasm/bash.wasm +0 -0
  28. package/wasm/c-sharp.tags.scm +23 -0
  29. package/wasm/c-sharp.wasm +0 -0
  30. package/wasm/c.tags.scm +9 -0
  31. package/wasm/c.wasm +0 -0
  32. package/wasm/cpp.tags.scm +15 -0
  33. package/wasm/cpp.wasm +0 -0
  34. package/wasm/elixir.tags.scm +54 -0
  35. package/wasm/elixir.wasm +0 -0
  36. package/wasm/go.tags.scm +42 -0
  37. package/wasm/go.wasm +0 -0
  38. package/wasm/groovy.tags.scm +15 -0
  39. package/wasm/groovy.wasm +0 -0
  40. package/wasm/java.tags.scm +20 -0
  41. package/wasm/java.wasm +0 -0
  42. package/wasm/javascript.tags.scm +99 -0
  43. package/wasm/javascript.wasm +0 -0
  44. package/wasm/php.tags.scm +40 -0
  45. package/wasm/php.wasm +0 -0
  46. package/wasm/powershell.tags.scm +14 -0
  47. package/wasm/powershell.wasm +0 -0
  48. package/wasm/python.tags.scm +14 -0
  49. package/wasm/python.wasm +0 -0
  50. package/wasm/ruby.tags.scm +64 -0
  51. package/wasm/ruby.wasm +0 -0
  52. package/wasm/rust.tags.scm +60 -0
  53. package/wasm/rust.wasm +0 -0
  54. package/wasm/scala.tags.scm +66 -0
  55. package/wasm/scala.wasm +0 -0
  56. package/wasm/solidity.tags.scm +43 -0
  57. package/wasm/solidity.wasm +0 -0
  58. package/wasm/tsx.wasm +0 -0
  59. package/wasm/typescript.tags.scm +23 -0
  60. package/wasm/typescript.wasm +0 -0
package/src/index.ts CHANGED
@@ -12,14 +12,39 @@ export {
12
12
  MAX_SCANNED_FILE_BYTES,
13
13
  AUTHORITY_FILE_MATCHERS,
14
14
  BUILT_IN_IGNORE_DIRS,
15
+ DEFAULT_INCLUDE_EXTENSIONS,
16
+ languageForExtension,
15
17
  makeIgnoreMatcher,
16
18
  isGitBoundary,
17
19
  FIXTURE_PATH_RE,
18
20
  isFixturePath,
19
21
  isSecretFile,
22
+ isAuthorityOnlyPath,
23
+ logAstCapabilityOnce,
20
24
  type CodeChunk,
21
25
  type ScanOptions,
22
26
  } from './codeScanner.js';
27
+ export {
28
+ AST_LANGUAGE_IDS,
29
+ QUERY_CHAIN,
30
+ VENDORED_ARTIFACT_DIR,
31
+ astArtifactReport,
32
+ astCapabilityReport,
33
+ grammarArtifactBasename,
34
+ loadGrammar,
35
+ loadedGrammarIds,
36
+ resolveAstLanguage,
37
+ type AstLanguageId,
38
+ type GrammarBinding,
39
+ type GrammarLoad,
40
+ type GrammarUnavailableReason,
41
+ } from './ast/grammars.js';
42
+ export {
43
+ MAX_AST_PARSE_BYTES,
44
+ chunkWithAst,
45
+ type AstChunk,
46
+ type AstChunkResult,
47
+ } from './ast/astChunker.js';
23
48
  export {
24
49
  SECRET_PATTERNS,
25
50
  SECRET_REDACTION_PLACEHOLDER,
@@ -0,0 +1,7 @@
1
+ ; Hand-written: tree-sitter-bash ships no queries/tags.scm.
2
+ ;
3
+ ; Node names verified by parsing a sample with the vendored bash.wasm rather than
4
+ ; taken from documentation — `function_definition` carries its name in a `name`
5
+ ; field typed `word`, covering both `foo() { }` and `function foo { }`.
6
+ (function_definition
7
+ name: (word) @name) @definition.function
package/wasm/bash.wasm ADDED
Binary file
@@ -0,0 +1,23 @@
1
+ (class_declaration name: (identifier) @name) @definition.class
2
+
3
+ (class_declaration (base_list (_) @name)) @reference.class
4
+
5
+ (interface_declaration name: (identifier) @name) @definition.interface
6
+
7
+ (interface_declaration (base_list (_) @name)) @reference.interface
8
+
9
+ (method_declaration name: (identifier) @name) @definition.method
10
+
11
+ (object_creation_expression type: (identifier) @name) @reference.class
12
+
13
+ (type_parameter_constraints_clause (identifier) @name) @reference.class
14
+
15
+ (type_parameter_constraint (type type: (identifier) @name)) @reference.class
16
+
17
+ (variable_declaration type: (identifier) @name) @reference.class
18
+
19
+ (invocation_expression function: (member_access_expression name: (identifier) @name)) @reference.send
20
+
21
+ (namespace_declaration name: (identifier) @name) @definition.module
22
+
23
+ (namespace_declaration name: (identifier) @name) @module
Binary file
@@ -0,0 +1,9 @@
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
package/wasm/c.wasm ADDED
Binary file
@@ -0,0 +1,15 @@
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
package/wasm/cpp.wasm ADDED
Binary file
@@ -0,0 +1,54 @@
1
+ ; Definitions
2
+
3
+ ; * modules and protocols
4
+ (call
5
+ target: (identifier) @ignore
6
+ (arguments (alias) @name)
7
+ (#any-of? @ignore "defmodule" "defprotocol")) @definition.module
8
+
9
+ ; * functions/macros
10
+ (call
11
+ target: (identifier) @ignore
12
+ (arguments
13
+ [
14
+ ; zero-arity functions with no parentheses
15
+ (identifier) @name
16
+ ; regular function clause
17
+ (call target: (identifier) @name)
18
+ ; function clause with a guard clause
19
+ (binary_operator
20
+ left: (call target: (identifier) @name)
21
+ operator: "when")
22
+ ])
23
+ (#any-of? @ignore "def" "defp" "defdelegate" "defguard" "defguardp" "defmacro" "defmacrop" "defn" "defnp")) @definition.function
24
+
25
+ ; References
26
+
27
+ ; ignore calls to kernel/special-forms keywords
28
+ (call
29
+ target: (identifier) @ignore
30
+ (#any-of? @ignore "def" "defp" "defdelegate" "defguard" "defguardp" "defmacro" "defmacrop" "defn" "defnp" "defmodule" "defprotocol" "defimpl" "defstruct" "defexception" "defoverridable" "alias" "case" "cond" "else" "for" "if" "import" "quote" "raise" "receive" "require" "reraise" "super" "throw" "try" "unless" "unquote" "unquote_splicing" "use" "with"))
31
+
32
+ ; ignore module attributes
33
+ (unary_operator
34
+ operator: "@"
35
+ operand: (call
36
+ target: (identifier) @ignore))
37
+
38
+ ; * function call
39
+ (call
40
+ target: [
41
+ ; local
42
+ (identifier) @name
43
+ ; remote
44
+ (dot
45
+ right: (identifier) @name)
46
+ ]) @reference.call
47
+
48
+ ; * pipe into function call
49
+ (binary_operator
50
+ operator: "|>"
51
+ right: (identifier) @name) @reference.call
52
+
53
+ ; * modules
54
+ (alias) @name @reference.module
Binary file
@@ -0,0 +1,42 @@
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
+ (call_expression
20
+ function: [
21
+ (identifier) @name
22
+ (parenthesized_expression (identifier) @name)
23
+ (selector_expression field: (field_identifier) @name)
24
+ (parenthesized_expression (selector_expression field: (field_identifier) @name))
25
+ ]) @reference.call
26
+
27
+ (type_spec
28
+ name: (type_identifier) @name) @definition.type
29
+
30
+ (type_identifier) @name @reference.type
31
+
32
+ (package_clause "package" (package_identifier) @name)
33
+
34
+ (type_declaration (type_spec name: (type_identifier) @name type: (interface_type)))
35
+
36
+ (type_declaration (type_spec name: (type_identifier) @name type: (struct_type)))
37
+
38
+ (import_declaration (import_spec) @name)
39
+
40
+ (var_declaration (var_spec name: (identifier) @name))
41
+
42
+ (const_declaration (const_spec name: (identifier) @name))
package/wasm/go.wasm ADDED
Binary file
@@ -0,0 +1,15 @@
1
+ ; Hand-written: tree-sitter-groovy ships no queries/tags.scm.
2
+ ;
3
+ ; Node names verified against the vendored groovy.wasm. Groovy distinguishes a
4
+ ; top-level `function_definition` from a `method_declaration` inside a
5
+ ; `class_body`, and both name via an `identifier` field — so methods get
6
+ ; definition.method and keep their own name, which is the defect this plan
7
+ ; exists to fix for every language.
8
+ (class_declaration
9
+ name: (identifier) @name) @definition.class
10
+
11
+ (method_declaration
12
+ name: (identifier) @name) @definition.method
13
+
14
+ (function_definition
15
+ name: (identifier) @name) @definition.function
Binary file
@@ -0,0 +1,20 @@
1
+ (class_declaration
2
+ name: (identifier) @name) @definition.class
3
+
4
+ (method_declaration
5
+ name: (identifier) @name) @definition.method
6
+
7
+ (method_invocation
8
+ name: (identifier) @name
9
+ arguments: (argument_list) @reference.call)
10
+
11
+ (interface_declaration
12
+ name: (identifier) @name) @definition.interface
13
+
14
+ (type_list
15
+ (type_identifier) @name) @reference.implementation
16
+
17
+ (object_creation_expression
18
+ type: (type_identifier) @name) @reference.class
19
+
20
+ (superclass (type_identifier) @name) @reference.class
package/wasm/java.wasm ADDED
Binary file
@@ -0,0 +1,99 @@
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
+ (member_expression
67
+ property: (property_identifier) @name)
68
+ ]
69
+ right: [(arrow_function) (function_expression)]
70
+ ) @definition.function
71
+
72
+ (pair
73
+ key: (property_identifier) @name
74
+ value: [(arrow_function) (function_expression)]) @definition.function
75
+
76
+ (
77
+ (call_expression
78
+ function: (identifier) @name) @reference.call
79
+ (#not-match? @name "^(require)$")
80
+ )
81
+
82
+ (call_expression
83
+ function: (member_expression
84
+ property: (property_identifier) @name)
85
+ arguments: (_) @reference.call)
86
+
87
+ (new_expression
88
+ constructor: (_) @name) @reference.class
89
+
90
+ (export_statement value: (assignment_expression left: (identifier) @name right: ([
91
+ (number)
92
+ (string)
93
+ (identifier)
94
+ (undefined)
95
+ (null)
96
+ (new_expression)
97
+ (binary_expression)
98
+ (call_expression)
99
+ ]))) @definition.constant
Binary file
@@ -0,0 +1,40 @@
1
+ (namespace_definition
2
+ name: (namespace_name) @name) @definition.module
3
+
4
+ (interface_declaration
5
+ name: (name) @name) @definition.interface
6
+
7
+ (trait_declaration
8
+ name: (name) @name) @definition.interface
9
+
10
+ (class_declaration
11
+ name: (name) @name) @definition.class
12
+
13
+ (class_interface_clause [(name) (qualified_name)] @name) @reference.implementation
14
+
15
+ (property_declaration
16
+ (property_element (variable_name (name) @name))) @definition.field
17
+
18
+ (function_definition
19
+ name: (name) @name) @definition.function
20
+
21
+ (method_declaration
22
+ name: (name) @name) @definition.function
23
+
24
+ (object_creation_expression
25
+ [
26
+ (qualified_name (name) @name)
27
+ (variable_name (name) @name)
28
+ ]) @reference.class
29
+
30
+ (function_call_expression
31
+ function: [
32
+ (qualified_name (name) @name)
33
+ (variable_name (name)) @name
34
+ ]) @reference.call
35
+
36
+ (scoped_call_expression
37
+ name: (name) @name) @reference.call
38
+
39
+ (member_call_expression
40
+ name: (name) @name) @reference.call
package/wasm/php.wasm ADDED
Binary file
@@ -0,0 +1,14 @@
1
+ ; Hand-written: tree-sitter-powershell ships no queries/tags.scm.
2
+ ;
3
+ ; Node names verified against the vendored powershell.wasm. PowerShell names
4
+ ; differ from every other grammar here: a function's name node is
5
+ ; `function_name` (not `identifier`), a class's is `simple_name`, and methods are
6
+ ; `class_method_definition`. Guessing these from another language's convention
7
+ ; would have produced a query that compiles and matches nothing.
8
+ (function_statement
9
+ (function_name) @name) @definition.function
10
+
11
+ (class_statement
12
+ (simple_name) @name) @definition.class
13
+
14
+ (class_method_definition) @definition.method
Binary file
@@ -0,0 +1,14 @@
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
+ (call
10
+ function: [
11
+ (identifier) @name
12
+ (attribute
13
+ attribute: (identifier) @name)
14
+ ]) @reference.call
Binary file
@@ -0,0 +1,64 @@
1
+ ; Method definitions
2
+
3
+ (
4
+ (comment)* @doc
5
+ .
6
+ [
7
+ (method
8
+ name: (_) @name) @definition.method
9
+ (singleton_method
10
+ name: (_) @name) @definition.method
11
+ ]
12
+ (#strip! @doc "^#\\s*")
13
+ (#select-adjacent! @doc @definition.method)
14
+ )
15
+
16
+ (alias
17
+ name: (_) @name) @definition.method
18
+
19
+ (setter
20
+ (identifier) @ignore)
21
+
22
+ ; Class definitions
23
+
24
+ (
25
+ (comment)* @doc
26
+ .
27
+ [
28
+ (class
29
+ name: [
30
+ (constant) @name
31
+ (scope_resolution
32
+ name: (_) @name)
33
+ ]) @definition.class
34
+ (singleton_class
35
+ value: [
36
+ (constant) @name
37
+ (scope_resolution
38
+ name: (_) @name)
39
+ ]) @definition.class
40
+ ]
41
+ (#strip! @doc "^#\\s*")
42
+ (#select-adjacent! @doc @definition.class)
43
+ )
44
+
45
+ ; Module definitions
46
+
47
+ (
48
+ (module
49
+ name: [
50
+ (constant) @name
51
+ (scope_resolution
52
+ name: (_) @name)
53
+ ]) @definition.module
54
+ )
55
+
56
+ ; Calls
57
+
58
+ (call method: (identifier) @name) @reference.call
59
+
60
+ (
61
+ [(identifier) (constant)] @name @reference.call
62
+ (#is-not? local)
63
+ (#not-match? @name "^(lambda|load|require|require_relative|__FILE__|__LINE__)$")
64
+ )
package/wasm/ruby.wasm ADDED
Binary file
@@ -0,0 +1,60 @@
1
+ ; ADT definitions
2
+
3
+ (struct_item
4
+ name: (type_identifier) @name) @definition.class
5
+
6
+ (enum_item
7
+ name: (type_identifier) @name) @definition.class
8
+
9
+ (union_item
10
+ name: (type_identifier) @name) @definition.class
11
+
12
+ ; type aliases
13
+
14
+ (type_item
15
+ name: (type_identifier) @name) @definition.class
16
+
17
+ ; method definitions
18
+
19
+ (declaration_list
20
+ (function_item
21
+ name: (identifier) @name) @definition.method)
22
+
23
+ ; function definitions
24
+
25
+ (function_item
26
+ name: (identifier) @name) @definition.function
27
+
28
+ ; trait definitions
29
+ (trait_item
30
+ name: (type_identifier) @name) @definition.interface
31
+
32
+ ; module definitions
33
+ (mod_item
34
+ name: (identifier) @name) @definition.module
35
+
36
+ ; macro definitions
37
+
38
+ (macro_definition
39
+ name: (identifier) @name) @definition.macro
40
+
41
+ ; references
42
+
43
+ (call_expression
44
+ function: (identifier) @name) @reference.call
45
+
46
+ (call_expression
47
+ function: (field_expression
48
+ field: (field_identifier) @name)) @reference.call
49
+
50
+ (macro_invocation
51
+ macro: (identifier) @name) @reference.call
52
+
53
+ ; implementations
54
+
55
+ (impl_item
56
+ trait: (type_identifier) @name) @reference.implementation
57
+
58
+ (impl_item
59
+ type: (type_identifier) @name
60
+ !trait) @reference.implementation
package/wasm/rust.wasm ADDED
Binary file
@@ -0,0 +1,66 @@
1
+ ; Definitions
2
+
3
+ (package_clause
4
+ name: (package_identifier) @name) @definition.module
5
+
6
+ (trait_definition
7
+ name: (identifier) @name) @definition.interface
8
+
9
+ (enum_definition
10
+ name: (identifier) @name) @definition.enum
11
+
12
+ (simple_enum_case
13
+ name: (identifier) @name) @definition.class
14
+
15
+ (full_enum_case
16
+ name: (identifier) @name) @definition.class
17
+
18
+ (class_definition
19
+ name: (identifier) @name) @definition.class
20
+
21
+ (object_definition
22
+ name: (identifier) @name) @definition.object
23
+
24
+ (function_definition
25
+ name: (identifier) @name) @definition.function
26
+
27
+ (val_definition
28
+ pattern: (identifier) @name) @definition.variable
29
+
30
+ (given_definition
31
+ name: (identifier) @name) @definition.variable
32
+
33
+ (var_definition
34
+ pattern: (identifier) @name) @definition.variable
35
+
36
+ (val_declaration
37
+ name: (identifier) @name) @definition.variable
38
+
39
+ (var_declaration
40
+ name: (identifier) @name) @definition.variable
41
+
42
+ (type_definition
43
+ name: (type_identifier) @name) @definition.type
44
+
45
+ (class_parameter
46
+ name: (identifier) @name) @definition.property
47
+
48
+ ; References
49
+
50
+ (call_expression
51
+ (identifier) @name) @reference.call
52
+
53
+ (instance_expression
54
+ (type_identifier) @name) @reference.interface
55
+
56
+ (instance_expression
57
+ (generic_type
58
+ (type_identifier) @name)) @reference.interface
59
+
60
+ (extends_clause
61
+ (type_identifier) @name) @reference.class
62
+
63
+ (extends_clause
64
+ (generic_type
65
+ (type_identifier) @name)) @reference.class
66
+
Binary file
@@ -0,0 +1,43 @@
1
+ ;; Method and Function declarations
2
+ (contract_declaration (_
3
+ (function_definition
4
+ name: (identifier) @name) @definition.method))
5
+
6
+ (source_file
7
+ (function_definition
8
+ name: (identifier) @name) @definition.function)
9
+
10
+ ;; Contract, struct, enum and interface declarations
11
+ (contract_declaration
12
+ name: (identifier) @name) @definition.class
13
+
14
+ (interface_declaration
15
+ name: (identifier) @name) @definition.interface
16
+
17
+ (library_declaration
18
+ name: (identifier) @name) @definition.interface
19
+
20
+ (struct_declaration name: (identifier) @name) @definition.class
21
+ (enum_declaration name: (identifier) @name) @definition.class
22
+ (event_definition name: (identifier) @name) @definition.class
23
+
24
+ ;; Function calls
25
+ (call_expression (expression (identifier)) @name ) @reference.call
26
+
27
+ (call_expression
28
+ (expression (member_expression
29
+ property: (_) @name ))) @reference.call
30
+
31
+ ;; Log emit
32
+ (emit_statement name: (_) @name) @reference.class
33
+
34
+
35
+ ;; Inheritance
36
+
37
+ (inheritance_specifier
38
+ ancestor: (user_defined_type (_) @name . )) @reference.class
39
+
40
+
41
+ ;; Imports ( note that unknown is not standardised )
42
+ (import_directive
43
+ import_name: (_) @name ) @reference.unknown
Binary file
package/wasm/tsx.wasm ADDED
Binary file