@embedder/embedder 1.0.7
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.
- package/LICENSE +36 -0
- package/bundle/embedder.js +600 -0
- package/bundle/gdb-debugger-python/gdb_bridge.py +392 -0
- package/bundle/gdb-debugger-python/requirements.txt +1 -0
- package/bundle/postinstall-for-users.js +497 -0
- package/bundle/prebuilt/darwin-arm64/node-pty.node +0 -0
- package/bundle/prebuilt/darwin-arm64/serialport.node +0 -0
- package/bundle/prebuilt/darwin-x64/node-pty.node +0 -0
- package/bundle/prebuilt/darwin-x64/serialport.node +0 -0
- package/bundle/prebuilt/js/LICENSE +21 -0
- package/bundle/prebuilt/js/README.md +16 -0
- package/bundle/prebuilt/js/dist/index.d.ts +180 -0
- package/bundle/prebuilt/js/dist/index.js +380 -0
- package/bundle/prebuilt/js/package.json +30 -0
- package/bundle/prebuilt/linux-x64/node-pty.node +0 -0
- package/bundle/prebuilt/linux-x64/serialport.node +0 -0
- package/bundle/prebuilt/win32-x64/node-pty.node +0 -0
- package/bundle/prebuilt/win32-x64/serialport.node +0 -0
- package/bundle/repomap-bridge.js +6 -0
- package/bundle/repomap-python/.repomap.tags.cache.v1/16/f1/46475231336389d911f729227da4.val +0 -0
- package/bundle/repomap-python/.repomap.tags.cache.v1/4b/ed/71b2bc3ff2b4ae3127312ffb93b6.val +0 -0
- package/bundle/repomap-python/.repomap.tags.cache.v1/9a/a5/4cd70a20713e3b8fb1e15ada7795.val +0 -0
- package/bundle/repomap-python/.repomap.tags.cache.v1/a2/bd/43da7881d5016e770db1c6facb21.val +0 -0
- package/bundle/repomap-python/.repomap.tags.cache.v1/a9/9a/8d9d8580960d3db4249ad5534c93.val +0 -0
- package/bundle/repomap-python/.repomap.tags.cache.v1/c9/b3/539c4fa477faa91028d0911cbd93.val +0 -0
- package/bundle/repomap-python/.repomap.tags.cache.v1/cache.db +0 -0
- package/bundle/repomap-python/.repomap.tags.cache.v1/d2/7f/23d90301a6beae01ee51643cbdec.val +0 -0
- package/bundle/repomap-python/.repomap.tags.cache.v1/d4/03/91f221322e309efe044a99fd3b12.val +0 -0
- package/bundle/repomap-python/__pycache__/importance.cpython-310.pyc +0 -0
- package/bundle/repomap-python/__pycache__/repomap_class.cpython-310.pyc +0 -0
- package/bundle/repomap-python/__pycache__/scm.cpython-310.pyc +0 -0
- package/bundle/repomap-python/__pycache__/utils.cpython-310.pyc +0 -0
- package/bundle/repomap-python/importance.py +58 -0
- package/bundle/repomap-python/queries/repomap_server.py +577 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/README.md +9 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/c-tags.scm +9 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/commonlisp-tags.scm +122 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/cpp-tags.scm +15 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/csharp-tags.scm +26 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/d-tags.scm +26 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/dart-tags.scm +92 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/elixir-tags.scm +54 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/elm-tags.scm +19 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/go-tags.scm +42 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/java-tags.scm +20 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/javascript-tags.scm +88 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/lua-tags.scm +34 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +98 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/python-tags.scm +14 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/r-tags.scm +21 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/ruby-tags.scm +64 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/rust-tags.scm +60 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/swift-tags.scm +51 -0
- package/bundle/repomap-python/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/README.md +24 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/c-tags.scm +9 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/c_sharp-tags.scm +46 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/cpp-tags.scm +15 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/dart-tags.scm +91 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/elisp-tags.scm +8 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/elixir-tags.scm +54 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/elm-tags.scm +19 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/go-tags.scm +30 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/hcl-tags.scm +77 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/java-tags.scm +20 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/javascript-tags.scm +88 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/ocaml_interface-tags.scm +98 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/php-tags.scm +26 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/python-tags.scm +12 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/ql-tags.scm +26 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/ruby-tags.scm +64 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/rust-tags.scm +60 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/scala-tags.scm +65 -0
- package/bundle/repomap-python/queries/tree-sitter-languages/typescript-tags.scm +41 -0
- package/bundle/repomap-python/repomap.py +229 -0
- package/bundle/repomap-python/repomap_bridge.py +234 -0
- package/bundle/repomap-python/repomap_class.py +637 -0
- package/bundle/repomap-python/repomap_server.py +585 -0
- package/bundle/repomap-python/requirements.txt +7 -0
- package/bundle/repomap-python/scm.py +59 -0
- package/bundle/repomap-python/utils.py +58 -0
- package/bundle/sandbox-macos-permissive-closed.sb +26 -0
- package/bundle/sandbox-macos-permissive-open.sb +19 -0
- package/bundle/sandbox-macos-permissive-proxied.sb +31 -0
- package/bundle/sandbox-macos-restrictive-closed.sb +87 -0
- package/bundle/sandbox-macos-restrictive-open.sb +90 -0
- package/bundle/sandbox-macos-restrictive-proxied.sb +92 -0
- package/package.json +97 -0
- package/postinstall.js +42 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
; Definitions
|
|
2
|
+
(intent_def
|
|
3
|
+
(intent) @name.definition.intent) @definition.intent
|
|
4
|
+
|
|
5
|
+
(slot_def
|
|
6
|
+
(slot) @name.definition.slot) @definition.slot
|
|
7
|
+
|
|
8
|
+
(alias_def
|
|
9
|
+
(alias) @name.definition.alias) @definition.alias
|
|
10
|
+
|
|
11
|
+
; References
|
|
12
|
+
(slot_ref
|
|
13
|
+
(slot) @name.reference.slot) @reference.slot
|
|
14
|
+
|
|
15
|
+
(alias_ref
|
|
16
|
+
(alias) @name.reference.alias) @reference.alias
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
2
|
+
;;; Function Definitions ;;;;;;;;;;;;;;;;;;;;;;;
|
|
3
|
+
|
|
4
|
+
(defun_header
|
|
5
|
+
function_name: (sym_lit) @name.definition.function) @definition.function
|
|
6
|
+
|
|
7
|
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
8
|
+
;;; Function Calls ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
9
|
+
;;;
|
|
10
|
+
;;; Basically, we consider every list literal with symbol as the
|
|
11
|
+
;;; first element to be a call to a function named by that element.
|
|
12
|
+
;;; But we must exclude some cases. Note, tree-sitter @ignore
|
|
13
|
+
;;; cases only work if they are declared before the cases
|
|
14
|
+
;;; we want to include.
|
|
15
|
+
|
|
16
|
+
;; Exclude lambda lists for function definitions
|
|
17
|
+
;; For example:
|
|
18
|
+
;;
|
|
19
|
+
;; (defun my-func (arg1 arg2) ...)
|
|
20
|
+
;;
|
|
21
|
+
;; do not treat (arg1 arg2) as a call of function arg1
|
|
22
|
+
;;
|
|
23
|
+
(defun_header
|
|
24
|
+
lambda_list: (list_lit . [(sym_lit) (package_lit)] @ignore))
|
|
25
|
+
|
|
26
|
+
;; Similar to the above, but for
|
|
27
|
+
;;
|
|
28
|
+
;; (defmethod m ((type1 param1) (type2 param2)) ...)
|
|
29
|
+
;;
|
|
30
|
+
;; where list literals having symbol as their first element
|
|
31
|
+
;; are nested inside the lambda list.
|
|
32
|
+
(defun_header
|
|
33
|
+
lambda_list: (list_lit (list_lit . [(sym_lit) (package_lit)] @ignore)))
|
|
34
|
+
|
|
35
|
+
;;
|
|
36
|
+
;; (let ((var ...) (var2 ...)) ...)
|
|
37
|
+
;;
|
|
38
|
+
;; - exclude var, var2
|
|
39
|
+
;; - the same for let*, flet, labels, macrolet, symbol-macrolet
|
|
40
|
+
(list_lit . [(sym_lit) (package_lit)] @name.reference.call
|
|
41
|
+
. (list_lit (list_lit . [(sym_lit) (package_lit)] @ignore))
|
|
42
|
+
(#match? @name.reference.call
|
|
43
|
+
"(?i)^(cl:)?(let|let\\*|flet|labels|macrolet|symbol-macrolet)$")
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
;; TODO:
|
|
47
|
+
;; - exclude also:
|
|
48
|
+
;; - (defclass name (parent parent2)
|
|
49
|
+
;; ((slot1 ...)
|
|
50
|
+
;; (slot2 ...))
|
|
51
|
+
;; exclude the parent, slot1, slot2
|
|
52
|
+
;; - (flet ((func-1 (param1 param2))) ...)
|
|
53
|
+
;; - we already exclude func-1, but param1 is still recognized
|
|
54
|
+
;; as a function call - exclude it too
|
|
55
|
+
;; - the same for labels
|
|
56
|
+
;; - the same macrolet
|
|
57
|
+
;; - what else?
|
|
58
|
+
;; (that's a non-goal to completely support all macros
|
|
59
|
+
;; and special operators, but every one we support
|
|
60
|
+
;; makes the solution a little bit better)
|
|
61
|
+
;; - (flet ((func-1 (param1 param2))) ...)
|
|
62
|
+
;; - instead of simply excluding it, as we do today,
|
|
63
|
+
;; tag func-1 as @local.definition.function (I suppose)
|
|
64
|
+
;; - the same for labels, macrolet
|
|
65
|
+
;; - @local.scope for let, let*, flet, labels, macrolet
|
|
66
|
+
;; - I guess the whole span of the scope text,
|
|
67
|
+
;; till the closing paren, should be tagged as @local.scope;
|
|
68
|
+
;; Hopefully, combined with @local.definition.function
|
|
69
|
+
;; within the scope, the usual @reference.call within
|
|
70
|
+
;; that scope will refer to the local definition,
|
|
71
|
+
;; and there will be no need to use @local.reference.call
|
|
72
|
+
;; (which is more difficult to implement).
|
|
73
|
+
;; - When implementing, remember the scope rules differences
|
|
74
|
+
;; of let vs let*, flet vs labels.
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
;; Include all other cases - list literal with symbol as the
|
|
78
|
+
;; first element
|
|
79
|
+
(list_lit . [(sym_lit) (package_lit)] @name.reference.call) @reference.call
|
|
80
|
+
|
|
81
|
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
82
|
+
;;; classes
|
|
83
|
+
|
|
84
|
+
(list_lit . [(sym_lit) (package_lit)] @ignore
|
|
85
|
+
. [(sym_lit) (package_lit)] @name.definition.class
|
|
86
|
+
(#match? @ignore "(?i)^(cl:)?defclass$")
|
|
87
|
+
) @definition.class
|
|
88
|
+
|
|
89
|
+
(list_lit . [(sym_lit) (package_lit)] @ignore
|
|
90
|
+
. (quoting_lit [(sym_lit) (package_lit)] @name.reference.class)
|
|
91
|
+
(#match? @ignore "(?i)^(cl:)?make-instance$")
|
|
92
|
+
) @reference.class
|
|
93
|
+
|
|
94
|
+
;;; TODO:
|
|
95
|
+
;; - @reference.class for base classes
|
|
96
|
+
|
|
97
|
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
98
|
+
;;; TODO:
|
|
99
|
+
;; - Symbols referenced in defpackage
|
|
100
|
+
;;
|
|
101
|
+
;; (defpackage ...
|
|
102
|
+
;; (:export (symbol-a :symbol-b #:symbol-c "SYMBOL-D")))
|
|
103
|
+
;;
|
|
104
|
+
;; The goal is to allow quick navigation from the API
|
|
105
|
+
;; overview in the form of defpackage, to the definition
|
|
106
|
+
;; where user can read parameters, docstring, etc.
|
|
107
|
+
;; - The @name must not include the colon, or sharpsign colon, quotes,
|
|
108
|
+
;; just symbol-a, symbol-b, symbol-c, sybmol-d
|
|
109
|
+
;; - Downcase the names specified as string literals?
|
|
110
|
+
;; ("SYMBOL-D" -> symbol-d)
|
|
111
|
+
;; - We don't know if the exported symbol is a function, variable,
|
|
112
|
+
;; class or something else. The official doc
|
|
113
|
+
;; (https://tree-sitter.github.io/tree-sitter/code-navigation-systems)
|
|
114
|
+
;; does not even suggest a tag for variable reference.
|
|
115
|
+
;; (Although in practice, the `tree-sitter tags` command
|
|
116
|
+
;; allows any @reference.* and @definition.* tags)
|
|
117
|
+
;; Probably it's better to just use @reference.call for all
|
|
118
|
+
;; the symbols in the :export clause.
|
|
119
|
+
;;
|
|
120
|
+
;; - The same for the export function call:
|
|
121
|
+
;;
|
|
122
|
+
;; (export '(symbol-a :symbol-b #:symbol-c "SYMBOL-D"))
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
(struct_specifier name: (type_identifier) @name.definition.class body:(_)) @definition.class
|
|
2
|
+
|
|
3
|
+
(declaration type: (union_specifier name: (type_identifier) @name.definition.class)) @definition.class
|
|
4
|
+
|
|
5
|
+
(function_declarator declarator: (identifier) @name.definition.function) @definition.function
|
|
6
|
+
|
|
7
|
+
(function_declarator declarator: (field_identifier) @name.definition.function) @definition.function
|
|
8
|
+
|
|
9
|
+
(function_declarator declarator: (qualified_identifier scope: (namespace_identifier) @local.scope name: (identifier) @name.definition.method)) @definition.method
|
|
10
|
+
|
|
11
|
+
(type_definition declarator: (type_identifier) @name.definition.type) @definition.type
|
|
12
|
+
|
|
13
|
+
(enum_specifier name: (type_identifier) @name.definition.type) @definition.type
|
|
14
|
+
|
|
15
|
+
(class_specifier name: (type_identifier) @name.definition.class) @definition.class
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
; Based on https://github.com/tree-sitter/tree-sitter-c-sharp/blob/master/queries/tags.scm
|
|
2
|
+
; MIT License.
|
|
3
|
+
|
|
4
|
+
(class_declaration name: (identifier) @name.definition.class) @definition.class
|
|
5
|
+
|
|
6
|
+
(class_declaration (base_list (_) @name.reference.class)) @reference.class
|
|
7
|
+
|
|
8
|
+
(interface_declaration name: (identifier) @name.definition.interface) @definition.interface
|
|
9
|
+
|
|
10
|
+
(interface_declaration (base_list (_) @name.reference.interface)) @reference.interface
|
|
11
|
+
|
|
12
|
+
(method_declaration name: (identifier) @name.definition.method) @definition.method
|
|
13
|
+
|
|
14
|
+
(object_creation_expression type: (identifier) @name.reference.class) @reference.class
|
|
15
|
+
|
|
16
|
+
(type_parameter_constraints_clause (identifier) @name.reference.class) @reference.class
|
|
17
|
+
|
|
18
|
+
(type_parameter_constraint (type type: (identifier) @name.reference.class)) @reference.class
|
|
19
|
+
|
|
20
|
+
(variable_declaration type: (identifier) @name.reference.class) @reference.class
|
|
21
|
+
|
|
22
|
+
(invocation_expression function: (member_access_expression name: (identifier) @name.reference.send)) @reference.send
|
|
23
|
+
|
|
24
|
+
(namespace_declaration name: (identifier) @name.definition.module) @definition.module
|
|
25
|
+
|
|
26
|
+
(namespace_declaration name: (identifier) @name.definition.module) @module
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
(module_def (module_declaration (module_fqn) @name.definition.module)) @definition.module
|
|
2
|
+
|
|
3
|
+
(struct_declaration (struct) . (identifier) @name.definition.class) @definition.class
|
|
4
|
+
(interface_declaration (interface) . (identifier) @name.definition.interface) @definition.interface
|
|
5
|
+
(enum_declaration (enum) . (identifier) @name.definition.type) @definition.type
|
|
6
|
+
|
|
7
|
+
(class_declaration (class) . (identifier) @name.definition.class) @definition.class
|
|
8
|
+
(constructor (this) @name.definition.method) @definition.method
|
|
9
|
+
(destructor (this) @name.definition.method) @definition.method
|
|
10
|
+
(postblit (this) @name.definition.method) @definition.method
|
|
11
|
+
|
|
12
|
+
(manifest_declarator . (identifier) @name.definition.type) @definition.type
|
|
13
|
+
|
|
14
|
+
(function_declaration (identifier) @name.definition.function) @definition.function
|
|
15
|
+
|
|
16
|
+
(union_declaration (union) . (identifier) @name.definition.type) @definition.type
|
|
17
|
+
|
|
18
|
+
(anonymous_enum_declaration (enum_member . (identifier) @name.definition.constant)) @definition.constant
|
|
19
|
+
|
|
20
|
+
(enum_declaration (enum_member . (identifier) @name.definition.constant)) @definition.constant
|
|
21
|
+
|
|
22
|
+
(call_expression (identifier) @name.reference.call) @reference.call
|
|
23
|
+
(call_expression (type (template_instance (identifier) @name.reference.call))) @reference.call
|
|
24
|
+
(parameter (type (identifier) @name.reference.class) @reference.class (identifier))
|
|
25
|
+
|
|
26
|
+
(variable_declaration (type (identifier) @name.reference.class) @reference.class (declarator))
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
|
|
2
|
+
(class_definition
|
|
3
|
+
name: (identifier) @name.definition.class) @definition.class
|
|
4
|
+
|
|
5
|
+
(method_signature
|
|
6
|
+
(function_signature)) @definition.method
|
|
7
|
+
|
|
8
|
+
(type_alias
|
|
9
|
+
(type_identifier) @name.definition.type) @definition.type
|
|
10
|
+
|
|
11
|
+
(method_signature
|
|
12
|
+
(getter_signature
|
|
13
|
+
name: (identifier) @name.definition.method)) @definition.method
|
|
14
|
+
|
|
15
|
+
(method_signature
|
|
16
|
+
(setter_signature
|
|
17
|
+
name: (identifier) @name.definition.method)) @definition.method
|
|
18
|
+
|
|
19
|
+
(method_signature
|
|
20
|
+
(function_signature
|
|
21
|
+
name: (identifier) @name.definition.method)) @definition.method
|
|
22
|
+
|
|
23
|
+
(method_signature
|
|
24
|
+
(factory_constructor_signature
|
|
25
|
+
(identifier) @name.definition.method)) @definition.method
|
|
26
|
+
|
|
27
|
+
(method_signature
|
|
28
|
+
(constructor_signature
|
|
29
|
+
name: (identifier) @name.definition.method)) @definition.method
|
|
30
|
+
|
|
31
|
+
(method_signature
|
|
32
|
+
(operator_signature)) @definition.method
|
|
33
|
+
|
|
34
|
+
(method_signature) @definition.method
|
|
35
|
+
|
|
36
|
+
(mixin_declaration
|
|
37
|
+
(mixin)
|
|
38
|
+
(identifier) @name.definition.mixin) @definition.mixin
|
|
39
|
+
|
|
40
|
+
(extension_declaration
|
|
41
|
+
name: (identifier) @name.definition.extension) @definition.extension
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
(new_expression
|
|
45
|
+
(type_identifier) @name.reference.class) @reference.class
|
|
46
|
+
|
|
47
|
+
(enum_declaration
|
|
48
|
+
name: (identifier) @name.definition.enum) @definition.enum
|
|
49
|
+
|
|
50
|
+
(function_signature
|
|
51
|
+
name: (identifier) @name.definition.function) @definition.function
|
|
52
|
+
|
|
53
|
+
(initialized_variable_definition
|
|
54
|
+
name: (identifier)
|
|
55
|
+
value: (identifier) @name.reference.class
|
|
56
|
+
value: (selector
|
|
57
|
+
"!"?
|
|
58
|
+
(argument_part
|
|
59
|
+
(arguments
|
|
60
|
+
(argument)*))?)?) @reference.class
|
|
61
|
+
|
|
62
|
+
(assignment_expression
|
|
63
|
+
left: (assignable_expression
|
|
64
|
+
(identifier)
|
|
65
|
+
(unconditional_assignable_selector
|
|
66
|
+
"."
|
|
67
|
+
(identifier) @name.reference.send))) @reference.call
|
|
68
|
+
|
|
69
|
+
(assignment_expression
|
|
70
|
+
left: (assignable_expression
|
|
71
|
+
(identifier)
|
|
72
|
+
(conditional_assignable_selector
|
|
73
|
+
"?."
|
|
74
|
+
(identifier) @name.reference.send))) @reference.call
|
|
75
|
+
|
|
76
|
+
((identifier) @name.reference.send
|
|
77
|
+
(selector
|
|
78
|
+
"!"?
|
|
79
|
+
(conditional_assignable_selector
|
|
80
|
+
"?." (identifier) @name.reference.send)?
|
|
81
|
+
(unconditional_assignable_selector
|
|
82
|
+
"."? (identifier) @name.reference.send)?
|
|
83
|
+
(argument_part
|
|
84
|
+
(arguments
|
|
85
|
+
(argument)*))?)*
|
|
86
|
+
(cascade_section
|
|
87
|
+
(cascade_selector
|
|
88
|
+
(identifier)) @name.reference.send
|
|
89
|
+
(argument_part
|
|
90
|
+
(arguments
|
|
91
|
+
(argument)*))?)?) @reference.call
|
|
92
|
+
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
; Definitions
|
|
2
|
+
|
|
3
|
+
; * modules and protocols
|
|
4
|
+
(call
|
|
5
|
+
target: (identifier) @ignore
|
|
6
|
+
(arguments (alias) @name.definition.module)
|
|
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.definition.function
|
|
16
|
+
; regular function clause
|
|
17
|
+
(call target: (identifier) @name.definition.function)
|
|
18
|
+
; function clause with a guard clause
|
|
19
|
+
(binary_operator
|
|
20
|
+
left: (call target: (identifier) @name.definition.function)
|
|
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.reference.call
|
|
43
|
+
; remote
|
|
44
|
+
(dot
|
|
45
|
+
right: (identifier) @name.reference.call)
|
|
46
|
+
]) @reference.call
|
|
47
|
+
|
|
48
|
+
; * pipe into function call
|
|
49
|
+
(binary_operator
|
|
50
|
+
operator: "|>"
|
|
51
|
+
right: (identifier) @name.reference.call) @reference.call
|
|
52
|
+
|
|
53
|
+
; * modules
|
|
54
|
+
(alias) @name.reference.module @reference.module
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
(value_declaration (function_declaration_left (lower_case_identifier) @name.definition.function)) @definition.function
|
|
2
|
+
|
|
3
|
+
(function_call_expr (value_expr (value_qid) @name.reference.function)) @reference.function
|
|
4
|
+
(exposed_value (lower_case_identifier) @name.reference.function) @reference.function
|
|
5
|
+
(type_annotation ((lower_case_identifier) @name.reference.function) (colon)) @reference.function
|
|
6
|
+
|
|
7
|
+
(type_declaration ((upper_case_identifier) @name.definition.type) ) @definition.type
|
|
8
|
+
|
|
9
|
+
(type_ref (upper_case_qid (upper_case_identifier) @name.reference.type)) @reference.type
|
|
10
|
+
(exposed_type (upper_case_identifier) @name.reference.type) @reference.type
|
|
11
|
+
|
|
12
|
+
(type_declaration (union_variant (upper_case_identifier) @name.definition.union)) @definition.union
|
|
13
|
+
|
|
14
|
+
(value_expr (upper_case_qid (upper_case_identifier) @name.reference.union)) @reference.union
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
(module_declaration
|
|
18
|
+
(upper_case_qid (upper_case_identifier)) @name.definition.module
|
|
19
|
+
) @definition.module
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
; Modules
|
|
2
|
+
(module) @name.reference.module @reference.module
|
|
3
|
+
(import alias: (identifier) @name.reference.module) @reference.module
|
|
4
|
+
(remote_type_identifier
|
|
5
|
+
module: (identifier) @name.reference.module) @reference.module
|
|
6
|
+
((field_access
|
|
7
|
+
record: (identifier) @name.reference.module)
|
|
8
|
+
(#is-not? local)) @reference.module
|
|
9
|
+
|
|
10
|
+
; Functions
|
|
11
|
+
(function
|
|
12
|
+
name: (identifier) @name.definition.function) @definition.function
|
|
13
|
+
(external_function
|
|
14
|
+
name: (identifier) @name.definition.function) @definition.function
|
|
15
|
+
(unqualified_import (identifier) @name.reference.function) @reference.function
|
|
16
|
+
((function_call
|
|
17
|
+
function: (identifier) @name.reference.function) @reference.function
|
|
18
|
+
(#is-not? local))
|
|
19
|
+
((field_access
|
|
20
|
+
record: (identifier) @ignore
|
|
21
|
+
field: (label) @name.reference.function)
|
|
22
|
+
(#is-not? local)) @reference.function
|
|
23
|
+
((binary_expression
|
|
24
|
+
operator: "|>"
|
|
25
|
+
right: (identifier) @name.reference.function)
|
|
26
|
+
(#is-not? local)) @reference.function
|
|
27
|
+
|
|
28
|
+
; Types
|
|
29
|
+
(type_definition
|
|
30
|
+
(type_name
|
|
31
|
+
name: (type_identifier) @name.definition.type)) @definition.type
|
|
32
|
+
(type_definition
|
|
33
|
+
(data_constructors
|
|
34
|
+
(data_constructor
|
|
35
|
+
name: (constructor_name) @name.definition.constructor))) @definition.constructor
|
|
36
|
+
(external_type
|
|
37
|
+
(type_name
|
|
38
|
+
name: (type_identifier) @name.definition.type)) @definition.type
|
|
39
|
+
|
|
40
|
+
(type_identifier) @name.reference.type @reference.type
|
|
41
|
+
(constructor_name) @name.reference.constructor @reference.constructor
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
(
|
|
2
|
+
(comment)* @doc
|
|
3
|
+
.
|
|
4
|
+
(function_declaration
|
|
5
|
+
name: (identifier) @name.definition.function) @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) @definition.method
|
|
15
|
+
(#strip! @doc "^//\\s*")
|
|
16
|
+
(#set-adjacent! @doc @definition.method)
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
(call_expression
|
|
20
|
+
function: [
|
|
21
|
+
(identifier) @name.reference.call
|
|
22
|
+
(parenthesized_expression (identifier) @name.reference.call)
|
|
23
|
+
(selector_expression field: (field_identifier) @name.reference.call)
|
|
24
|
+
(parenthesized_expression (selector_expression field: (field_identifier) @name.reference.call))
|
|
25
|
+
]) @reference.call
|
|
26
|
+
|
|
27
|
+
(type_spec
|
|
28
|
+
name: (type_identifier) @name.definition.type) @definition.type
|
|
29
|
+
|
|
30
|
+
(type_identifier) @name.reference.type @reference.type
|
|
31
|
+
|
|
32
|
+
(package_clause "package" (package_identifier) @name.definition.module)
|
|
33
|
+
|
|
34
|
+
(type_declaration (type_spec name: (type_identifier) @name.definition.interface type: (interface_type)))
|
|
35
|
+
|
|
36
|
+
(type_declaration (type_spec name: (type_identifier) @name.definition.class type: (struct_type)))
|
|
37
|
+
|
|
38
|
+
(import_declaration (import_spec) @name.reference.module)
|
|
39
|
+
|
|
40
|
+
(var_declaration (var_spec name: (identifier) @name.definition.variable))
|
|
41
|
+
|
|
42
|
+
(const_declaration (const_spec name: (identifier) @name.definition.constant))
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
(class_declaration
|
|
2
|
+
name: (identifier) @name.definition.class) @definition.class
|
|
3
|
+
|
|
4
|
+
(method_declaration
|
|
5
|
+
name: (identifier) @name.definition.method) @definition.method
|
|
6
|
+
|
|
7
|
+
(method_invocation
|
|
8
|
+
name: (identifier) @name.reference.method
|
|
9
|
+
arguments: (argument_list) @reference.call)
|
|
10
|
+
|
|
11
|
+
(interface_declaration
|
|
12
|
+
name: (identifier) @name.definition.interface) @definition.interface
|
|
13
|
+
|
|
14
|
+
(type_list
|
|
15
|
+
(type_identifier) @name.reference.interface) @reference.implementation
|
|
16
|
+
|
|
17
|
+
(object_creation_expression
|
|
18
|
+
type: (type_identifier) @name.reference.class) @reference.class
|
|
19
|
+
|
|
20
|
+
(superclass (type_identifier) @name.reference.class) @reference.class
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
(
|
|
2
|
+
(comment)* @doc
|
|
3
|
+
.
|
|
4
|
+
(method_definition
|
|
5
|
+
name: (property_identifier) @name.definition.method) @definition.method
|
|
6
|
+
(#not-eq? @name.definition.method "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.definition.class)
|
|
17
|
+
(class_declaration
|
|
18
|
+
name: (_) @name.definition.class)
|
|
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.definition.function)
|
|
30
|
+
(function_declaration
|
|
31
|
+
name: (identifier) @name.definition.function)
|
|
32
|
+
(generator_function
|
|
33
|
+
name: (identifier) @name.definition.function)
|
|
34
|
+
(generator_function_declaration
|
|
35
|
+
name: (identifier) @name.definition.function)
|
|
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.definition.function
|
|
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.definition.function
|
|
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.definition.function
|
|
66
|
+
(member_expression
|
|
67
|
+
property: (property_identifier) @name.definition.function)
|
|
68
|
+
]
|
|
69
|
+
right: [(arrow_function) (function_expression)]
|
|
70
|
+
) @definition.function
|
|
71
|
+
|
|
72
|
+
(pair
|
|
73
|
+
key: (property_identifier) @name.definition.function
|
|
74
|
+
value: [(arrow_function) (function_expression)]) @definition.function
|
|
75
|
+
|
|
76
|
+
(
|
|
77
|
+
(call_expression
|
|
78
|
+
function: (identifier) @name.reference.call) @reference.call
|
|
79
|
+
(#not-match? @name.reference.call "^(require)$")
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
(call_expression
|
|
83
|
+
function: (member_expression
|
|
84
|
+
property: (property_identifier) @name.reference.call)
|
|
85
|
+
arguments: (_) @reference.call)
|
|
86
|
+
|
|
87
|
+
(new_expression
|
|
88
|
+
constructor: (_) @name.reference.class) @reference.class
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
(function_declaration
|
|
2
|
+
name: [
|
|
3
|
+
(identifier) @name.definition.function
|
|
4
|
+
(dot_index_expression
|
|
5
|
+
field: (identifier) @name.definition.function)
|
|
6
|
+
]) @definition.function
|
|
7
|
+
|
|
8
|
+
(function_declaration
|
|
9
|
+
name: (method_index_expression
|
|
10
|
+
method: (identifier) @name.definition.method)) @definition.method
|
|
11
|
+
|
|
12
|
+
(assignment_statement
|
|
13
|
+
(variable_list .
|
|
14
|
+
name: [
|
|
15
|
+
(identifier) @name.definition.function
|
|
16
|
+
(dot_index_expression
|
|
17
|
+
field: (identifier) @name.definition.function)
|
|
18
|
+
])
|
|
19
|
+
(expression_list .
|
|
20
|
+
value: (function_definition))) @definition.function
|
|
21
|
+
|
|
22
|
+
(table_constructor
|
|
23
|
+
(field
|
|
24
|
+
name: (identifier) @name.definition.function
|
|
25
|
+
value: (function_definition))) @definition.function
|
|
26
|
+
|
|
27
|
+
(function_call
|
|
28
|
+
name: [
|
|
29
|
+
(identifier) @name.reference.call
|
|
30
|
+
(dot_index_expression
|
|
31
|
+
field: (identifier) @name.reference.call)
|
|
32
|
+
(method_index_expression
|
|
33
|
+
method: (identifier) @name.reference.method)
|
|
34
|
+
]) @reference.call
|