chatmcp-cli 0.1.0__py3-none-any.whl
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.
- aider/__init__.py +20 -0
- aider/__main__.py +4 -0
- aider/_version.py +21 -0
- aider/analytics.py +250 -0
- aider/args.py +926 -0
- aider/args_formatter.py +228 -0
- aider/coders/__init__.py +34 -0
- aider/coders/architect_coder.py +48 -0
- aider/coders/architect_prompts.py +40 -0
- aider/coders/ask_coder.py +9 -0
- aider/coders/ask_prompts.py +35 -0
- aider/coders/base_coder.py +2483 -0
- aider/coders/base_prompts.py +60 -0
- aider/coders/chat_chunks.py +64 -0
- aider/coders/context_coder.py +53 -0
- aider/coders/context_prompts.py +75 -0
- aider/coders/editblock_coder.py +657 -0
- aider/coders/editblock_fenced_coder.py +10 -0
- aider/coders/editblock_fenced_prompts.py +143 -0
- aider/coders/editblock_func_coder.py +141 -0
- aider/coders/editblock_func_prompts.py +27 -0
- aider/coders/editblock_prompts.py +174 -0
- aider/coders/editor_diff_fenced_coder.py +9 -0
- aider/coders/editor_diff_fenced_prompts.py +11 -0
- aider/coders/editor_editblock_coder.py +8 -0
- aider/coders/editor_editblock_prompts.py +18 -0
- aider/coders/editor_whole_coder.py +8 -0
- aider/coders/editor_whole_prompts.py +10 -0
- aider/coders/help_coder.py +16 -0
- aider/coders/help_prompts.py +46 -0
- aider/coders/patch_coder.py +706 -0
- aider/coders/patch_prompts.py +161 -0
- aider/coders/search_replace.py +757 -0
- aider/coders/shell.py +37 -0
- aider/coders/single_wholefile_func_coder.py +102 -0
- aider/coders/single_wholefile_func_prompts.py +27 -0
- aider/coders/udiff_coder.py +429 -0
- aider/coders/udiff_prompts.py +115 -0
- aider/coders/udiff_simple.py +14 -0
- aider/coders/udiff_simple_prompts.py +25 -0
- aider/coders/wholefile_coder.py +144 -0
- aider/coders/wholefile_func_coder.py +134 -0
- aider/coders/wholefile_func_prompts.py +27 -0
- aider/coders/wholefile_prompts.py +67 -0
- aider/commands.py +1665 -0
- aider/copypaste.py +72 -0
- aider/deprecated.py +126 -0
- aider/diffs.py +128 -0
- aider/dump.py +29 -0
- aider/editor.py +147 -0
- aider/exceptions.py +107 -0
- aider/format_settings.py +26 -0
- aider/gui.py +545 -0
- aider/help.py +163 -0
- aider/help_pats.py +19 -0
- aider/history.py +143 -0
- aider/io.py +1175 -0
- aider/linter.py +304 -0
- aider/llm.py +47 -0
- aider/main.py +1267 -0
- aider/mdstream.py +243 -0
- aider/models.py +1286 -0
- aider/onboarding.py +428 -0
- aider/openrouter.py +128 -0
- aider/prompts.py +64 -0
- aider/queries/tree-sitter-language-pack/README.md +7 -0
- aider/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
- aider/queries/tree-sitter-language-pack/c-tags.scm +9 -0
- aider/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
- aider/queries/tree-sitter-language-pack/commonlisp-tags.scm +122 -0
- aider/queries/tree-sitter-language-pack/cpp-tags.scm +15 -0
- aider/queries/tree-sitter-language-pack/csharp-tags.scm +26 -0
- aider/queries/tree-sitter-language-pack/d-tags.scm +26 -0
- aider/queries/tree-sitter-language-pack/dart-tags.scm +92 -0
- aider/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
- aider/queries/tree-sitter-language-pack/elixir-tags.scm +54 -0
- aider/queries/tree-sitter-language-pack/elm-tags.scm +19 -0
- aider/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
- aider/queries/tree-sitter-language-pack/go-tags.scm +42 -0
- aider/queries/tree-sitter-language-pack/java-tags.scm +20 -0
- aider/queries/tree-sitter-language-pack/javascript-tags.scm +88 -0
- aider/queries/tree-sitter-language-pack/lua-tags.scm +34 -0
- aider/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
- aider/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +98 -0
- aider/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
- aider/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
- aider/queries/tree-sitter-language-pack/python-tags.scm +14 -0
- aider/queries/tree-sitter-language-pack/r-tags.scm +21 -0
- aider/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
- aider/queries/tree-sitter-language-pack/ruby-tags.scm +64 -0
- aider/queries/tree-sitter-language-pack/rust-tags.scm +60 -0
- aider/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
- aider/queries/tree-sitter-language-pack/swift-tags.scm +51 -0
- aider/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
- aider/queries/tree-sitter-languages/README.md +23 -0
- aider/queries/tree-sitter-languages/c-tags.scm +9 -0
- aider/queries/tree-sitter-languages/c_sharp-tags.scm +46 -0
- aider/queries/tree-sitter-languages/cpp-tags.scm +15 -0
- aider/queries/tree-sitter-languages/dart-tags.scm +91 -0
- aider/queries/tree-sitter-languages/elisp-tags.scm +8 -0
- aider/queries/tree-sitter-languages/elixir-tags.scm +54 -0
- aider/queries/tree-sitter-languages/elm-tags.scm +19 -0
- aider/queries/tree-sitter-languages/go-tags.scm +30 -0
- aider/queries/tree-sitter-languages/hcl-tags.scm +77 -0
- aider/queries/tree-sitter-languages/java-tags.scm +20 -0
- aider/queries/tree-sitter-languages/javascript-tags.scm +88 -0
- aider/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
- aider/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
- aider/queries/tree-sitter-languages/ocaml_interface-tags.scm +98 -0
- aider/queries/tree-sitter-languages/php-tags.scm +26 -0
- aider/queries/tree-sitter-languages/python-tags.scm +12 -0
- aider/queries/tree-sitter-languages/ql-tags.scm +26 -0
- aider/queries/tree-sitter-languages/ruby-tags.scm +64 -0
- aider/queries/tree-sitter-languages/rust-tags.scm +60 -0
- aider/queries/tree-sitter-languages/scala-tags.scm +65 -0
- aider/queries/tree-sitter-languages/typescript-tags.scm +41 -0
- aider/reasoning_tags.py +82 -0
- aider/repo.py +623 -0
- aider/repomap.py +847 -0
- aider/report.py +200 -0
- aider/resources/__init__.py +3 -0
- aider/resources/model-metadata.json +468 -0
- aider/resources/model-settings.yml +1767 -0
- aider/run_cmd.py +132 -0
- aider/scrape.py +284 -0
- aider/sendchat.py +61 -0
- aider/special.py +203 -0
- aider/urls.py +17 -0
- aider/utils.py +338 -0
- aider/versioncheck.py +113 -0
- aider/voice.py +187 -0
- aider/waiting.py +221 -0
- aider/watch.py +318 -0
- aider/watch_prompts.py +12 -0
- aider/website/Gemfile +8 -0
- aider/website/_includes/blame.md +162 -0
- aider/website/_includes/get-started.md +22 -0
- aider/website/_includes/help-tip.md +5 -0
- aider/website/_includes/help.md +24 -0
- aider/website/_includes/install.md +5 -0
- aider/website/_includes/keys.md +4 -0
- aider/website/_includes/model-warnings.md +67 -0
- aider/website/_includes/multi-line.md +22 -0
- aider/website/_includes/python-m-aider.md +5 -0
- aider/website/_includes/recording.css +228 -0
- aider/website/_includes/recording.md +34 -0
- aider/website/_includes/replit-pipx.md +9 -0
- aider/website/_includes/works-best.md +1 -0
- aider/website/_sass/custom/custom.scss +103 -0
- aider/website/docs/config/adv-model-settings.md +1881 -0
- aider/website/docs/config/aider_conf.md +527 -0
- aider/website/docs/config/api-keys.md +90 -0
- aider/website/docs/config/dotenv.md +478 -0
- aider/website/docs/config/editor.md +127 -0
- aider/website/docs/config/model-aliases.md +103 -0
- aider/website/docs/config/options.md +843 -0
- aider/website/docs/config/reasoning.md +209 -0
- aider/website/docs/config.md +44 -0
- aider/website/docs/faq.md +378 -0
- aider/website/docs/git.md +76 -0
- aider/website/docs/index.md +47 -0
- aider/website/docs/install/codespaces.md +39 -0
- aider/website/docs/install/docker.md +57 -0
- aider/website/docs/install/optional.md +100 -0
- aider/website/docs/install/replit.md +8 -0
- aider/website/docs/install.md +115 -0
- aider/website/docs/languages.md +264 -0
- aider/website/docs/legal/contributor-agreement.md +111 -0
- aider/website/docs/legal/privacy.md +104 -0
- aider/website/docs/llms/anthropic.md +77 -0
- aider/website/docs/llms/azure.md +48 -0
- aider/website/docs/llms/bedrock.md +132 -0
- aider/website/docs/llms/cohere.md +34 -0
- aider/website/docs/llms/deepseek.md +32 -0
- aider/website/docs/llms/gemini.md +49 -0
- aider/website/docs/llms/github.md +105 -0
- aider/website/docs/llms/groq.md +36 -0
- aider/website/docs/llms/lm-studio.md +39 -0
- aider/website/docs/llms/ollama.md +75 -0
- aider/website/docs/llms/openai-compat.md +39 -0
- aider/website/docs/llms/openai.md +58 -0
- aider/website/docs/llms/openrouter.md +78 -0
- aider/website/docs/llms/other.md +103 -0
- aider/website/docs/llms/vertex.md +50 -0
- aider/website/docs/llms/warnings.md +10 -0
- aider/website/docs/llms/xai.md +53 -0
- aider/website/docs/llms.md +54 -0
- aider/website/docs/more/analytics.md +122 -0
- aider/website/docs/more/edit-formats.md +116 -0
- aider/website/docs/more/infinite-output.md +137 -0
- aider/website/docs/more-info.md +8 -0
- aider/website/docs/recordings/auto-accept-architect.md +31 -0
- aider/website/docs/recordings/dont-drop-original-read-files.md +35 -0
- aider/website/docs/recordings/index.md +21 -0
- aider/website/docs/recordings/model-accepts-settings.md +69 -0
- aider/website/docs/recordings/tree-sitter-language-pack.md +80 -0
- aider/website/docs/repomap.md +112 -0
- aider/website/docs/scripting.md +100 -0
- aider/website/docs/troubleshooting/aider-not-found.md +24 -0
- aider/website/docs/troubleshooting/edit-errors.md +76 -0
- aider/website/docs/troubleshooting/imports.md +62 -0
- aider/website/docs/troubleshooting/models-and-keys.md +54 -0
- aider/website/docs/troubleshooting/support.md +79 -0
- aider/website/docs/troubleshooting/token-limits.md +96 -0
- aider/website/docs/troubleshooting/warnings.md +12 -0
- aider/website/docs/troubleshooting.md +11 -0
- aider/website/docs/usage/browser.md +57 -0
- aider/website/docs/usage/caching.md +49 -0
- aider/website/docs/usage/commands.md +132 -0
- aider/website/docs/usage/conventions.md +119 -0
- aider/website/docs/usage/copypaste.md +121 -0
- aider/website/docs/usage/images-urls.md +48 -0
- aider/website/docs/usage/lint-test.md +118 -0
- aider/website/docs/usage/modes.md +211 -0
- aider/website/docs/usage/not-code.md +179 -0
- aider/website/docs/usage/notifications.md +87 -0
- aider/website/docs/usage/tips.md +79 -0
- aider/website/docs/usage/tutorials.md +30 -0
- aider/website/docs/usage/voice.md +121 -0
- aider/website/docs/usage/watch.md +294 -0
- aider/website/docs/usage.md +92 -0
- aider/website/share/index.md +101 -0
- chatmcp_cli-0.1.0.dist-info/METADATA +502 -0
- chatmcp_cli-0.1.0.dist-info/RECORD +228 -0
- chatmcp_cli-0.1.0.dist-info/WHEEL +5 -0
- chatmcp_cli-0.1.0.dist-info/entry_points.txt +3 -0
- chatmcp_cli-0.1.0.dist-info/licenses/LICENSE.txt +202 -0
- chatmcp_cli-0.1.0.dist-info/top_level.txt +1 -0
@@ -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
|