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.
Files changed (228) hide show
  1. aider/__init__.py +20 -0
  2. aider/__main__.py +4 -0
  3. aider/_version.py +21 -0
  4. aider/analytics.py +250 -0
  5. aider/args.py +926 -0
  6. aider/args_formatter.py +228 -0
  7. aider/coders/__init__.py +34 -0
  8. aider/coders/architect_coder.py +48 -0
  9. aider/coders/architect_prompts.py +40 -0
  10. aider/coders/ask_coder.py +9 -0
  11. aider/coders/ask_prompts.py +35 -0
  12. aider/coders/base_coder.py +2483 -0
  13. aider/coders/base_prompts.py +60 -0
  14. aider/coders/chat_chunks.py +64 -0
  15. aider/coders/context_coder.py +53 -0
  16. aider/coders/context_prompts.py +75 -0
  17. aider/coders/editblock_coder.py +657 -0
  18. aider/coders/editblock_fenced_coder.py +10 -0
  19. aider/coders/editblock_fenced_prompts.py +143 -0
  20. aider/coders/editblock_func_coder.py +141 -0
  21. aider/coders/editblock_func_prompts.py +27 -0
  22. aider/coders/editblock_prompts.py +174 -0
  23. aider/coders/editor_diff_fenced_coder.py +9 -0
  24. aider/coders/editor_diff_fenced_prompts.py +11 -0
  25. aider/coders/editor_editblock_coder.py +8 -0
  26. aider/coders/editor_editblock_prompts.py +18 -0
  27. aider/coders/editor_whole_coder.py +8 -0
  28. aider/coders/editor_whole_prompts.py +10 -0
  29. aider/coders/help_coder.py +16 -0
  30. aider/coders/help_prompts.py +46 -0
  31. aider/coders/patch_coder.py +706 -0
  32. aider/coders/patch_prompts.py +161 -0
  33. aider/coders/search_replace.py +757 -0
  34. aider/coders/shell.py +37 -0
  35. aider/coders/single_wholefile_func_coder.py +102 -0
  36. aider/coders/single_wholefile_func_prompts.py +27 -0
  37. aider/coders/udiff_coder.py +429 -0
  38. aider/coders/udiff_prompts.py +115 -0
  39. aider/coders/udiff_simple.py +14 -0
  40. aider/coders/udiff_simple_prompts.py +25 -0
  41. aider/coders/wholefile_coder.py +144 -0
  42. aider/coders/wholefile_func_coder.py +134 -0
  43. aider/coders/wholefile_func_prompts.py +27 -0
  44. aider/coders/wholefile_prompts.py +67 -0
  45. aider/commands.py +1665 -0
  46. aider/copypaste.py +72 -0
  47. aider/deprecated.py +126 -0
  48. aider/diffs.py +128 -0
  49. aider/dump.py +29 -0
  50. aider/editor.py +147 -0
  51. aider/exceptions.py +107 -0
  52. aider/format_settings.py +26 -0
  53. aider/gui.py +545 -0
  54. aider/help.py +163 -0
  55. aider/help_pats.py +19 -0
  56. aider/history.py +143 -0
  57. aider/io.py +1175 -0
  58. aider/linter.py +304 -0
  59. aider/llm.py +47 -0
  60. aider/main.py +1267 -0
  61. aider/mdstream.py +243 -0
  62. aider/models.py +1286 -0
  63. aider/onboarding.py +428 -0
  64. aider/openrouter.py +128 -0
  65. aider/prompts.py +64 -0
  66. aider/queries/tree-sitter-language-pack/README.md +7 -0
  67. aider/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
  68. aider/queries/tree-sitter-language-pack/c-tags.scm +9 -0
  69. aider/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
  70. aider/queries/tree-sitter-language-pack/commonlisp-tags.scm +122 -0
  71. aider/queries/tree-sitter-language-pack/cpp-tags.scm +15 -0
  72. aider/queries/tree-sitter-language-pack/csharp-tags.scm +26 -0
  73. aider/queries/tree-sitter-language-pack/d-tags.scm +26 -0
  74. aider/queries/tree-sitter-language-pack/dart-tags.scm +92 -0
  75. aider/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
  76. aider/queries/tree-sitter-language-pack/elixir-tags.scm +54 -0
  77. aider/queries/tree-sitter-language-pack/elm-tags.scm +19 -0
  78. aider/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
  79. aider/queries/tree-sitter-language-pack/go-tags.scm +42 -0
  80. aider/queries/tree-sitter-language-pack/java-tags.scm +20 -0
  81. aider/queries/tree-sitter-language-pack/javascript-tags.scm +88 -0
  82. aider/queries/tree-sitter-language-pack/lua-tags.scm +34 -0
  83. aider/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
  84. aider/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +98 -0
  85. aider/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
  86. aider/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
  87. aider/queries/tree-sitter-language-pack/python-tags.scm +14 -0
  88. aider/queries/tree-sitter-language-pack/r-tags.scm +21 -0
  89. aider/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
  90. aider/queries/tree-sitter-language-pack/ruby-tags.scm +64 -0
  91. aider/queries/tree-sitter-language-pack/rust-tags.scm +60 -0
  92. aider/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
  93. aider/queries/tree-sitter-language-pack/swift-tags.scm +51 -0
  94. aider/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
  95. aider/queries/tree-sitter-languages/README.md +23 -0
  96. aider/queries/tree-sitter-languages/c-tags.scm +9 -0
  97. aider/queries/tree-sitter-languages/c_sharp-tags.scm +46 -0
  98. aider/queries/tree-sitter-languages/cpp-tags.scm +15 -0
  99. aider/queries/tree-sitter-languages/dart-tags.scm +91 -0
  100. aider/queries/tree-sitter-languages/elisp-tags.scm +8 -0
  101. aider/queries/tree-sitter-languages/elixir-tags.scm +54 -0
  102. aider/queries/tree-sitter-languages/elm-tags.scm +19 -0
  103. aider/queries/tree-sitter-languages/go-tags.scm +30 -0
  104. aider/queries/tree-sitter-languages/hcl-tags.scm +77 -0
  105. aider/queries/tree-sitter-languages/java-tags.scm +20 -0
  106. aider/queries/tree-sitter-languages/javascript-tags.scm +88 -0
  107. aider/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
  108. aider/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
  109. aider/queries/tree-sitter-languages/ocaml_interface-tags.scm +98 -0
  110. aider/queries/tree-sitter-languages/php-tags.scm +26 -0
  111. aider/queries/tree-sitter-languages/python-tags.scm +12 -0
  112. aider/queries/tree-sitter-languages/ql-tags.scm +26 -0
  113. aider/queries/tree-sitter-languages/ruby-tags.scm +64 -0
  114. aider/queries/tree-sitter-languages/rust-tags.scm +60 -0
  115. aider/queries/tree-sitter-languages/scala-tags.scm +65 -0
  116. aider/queries/tree-sitter-languages/typescript-tags.scm +41 -0
  117. aider/reasoning_tags.py +82 -0
  118. aider/repo.py +623 -0
  119. aider/repomap.py +847 -0
  120. aider/report.py +200 -0
  121. aider/resources/__init__.py +3 -0
  122. aider/resources/model-metadata.json +468 -0
  123. aider/resources/model-settings.yml +1767 -0
  124. aider/run_cmd.py +132 -0
  125. aider/scrape.py +284 -0
  126. aider/sendchat.py +61 -0
  127. aider/special.py +203 -0
  128. aider/urls.py +17 -0
  129. aider/utils.py +338 -0
  130. aider/versioncheck.py +113 -0
  131. aider/voice.py +187 -0
  132. aider/waiting.py +221 -0
  133. aider/watch.py +318 -0
  134. aider/watch_prompts.py +12 -0
  135. aider/website/Gemfile +8 -0
  136. aider/website/_includes/blame.md +162 -0
  137. aider/website/_includes/get-started.md +22 -0
  138. aider/website/_includes/help-tip.md +5 -0
  139. aider/website/_includes/help.md +24 -0
  140. aider/website/_includes/install.md +5 -0
  141. aider/website/_includes/keys.md +4 -0
  142. aider/website/_includes/model-warnings.md +67 -0
  143. aider/website/_includes/multi-line.md +22 -0
  144. aider/website/_includes/python-m-aider.md +5 -0
  145. aider/website/_includes/recording.css +228 -0
  146. aider/website/_includes/recording.md +34 -0
  147. aider/website/_includes/replit-pipx.md +9 -0
  148. aider/website/_includes/works-best.md +1 -0
  149. aider/website/_sass/custom/custom.scss +103 -0
  150. aider/website/docs/config/adv-model-settings.md +1881 -0
  151. aider/website/docs/config/aider_conf.md +527 -0
  152. aider/website/docs/config/api-keys.md +90 -0
  153. aider/website/docs/config/dotenv.md +478 -0
  154. aider/website/docs/config/editor.md +127 -0
  155. aider/website/docs/config/model-aliases.md +103 -0
  156. aider/website/docs/config/options.md +843 -0
  157. aider/website/docs/config/reasoning.md +209 -0
  158. aider/website/docs/config.md +44 -0
  159. aider/website/docs/faq.md +378 -0
  160. aider/website/docs/git.md +76 -0
  161. aider/website/docs/index.md +47 -0
  162. aider/website/docs/install/codespaces.md +39 -0
  163. aider/website/docs/install/docker.md +57 -0
  164. aider/website/docs/install/optional.md +100 -0
  165. aider/website/docs/install/replit.md +8 -0
  166. aider/website/docs/install.md +115 -0
  167. aider/website/docs/languages.md +264 -0
  168. aider/website/docs/legal/contributor-agreement.md +111 -0
  169. aider/website/docs/legal/privacy.md +104 -0
  170. aider/website/docs/llms/anthropic.md +77 -0
  171. aider/website/docs/llms/azure.md +48 -0
  172. aider/website/docs/llms/bedrock.md +132 -0
  173. aider/website/docs/llms/cohere.md +34 -0
  174. aider/website/docs/llms/deepseek.md +32 -0
  175. aider/website/docs/llms/gemini.md +49 -0
  176. aider/website/docs/llms/github.md +105 -0
  177. aider/website/docs/llms/groq.md +36 -0
  178. aider/website/docs/llms/lm-studio.md +39 -0
  179. aider/website/docs/llms/ollama.md +75 -0
  180. aider/website/docs/llms/openai-compat.md +39 -0
  181. aider/website/docs/llms/openai.md +58 -0
  182. aider/website/docs/llms/openrouter.md +78 -0
  183. aider/website/docs/llms/other.md +103 -0
  184. aider/website/docs/llms/vertex.md +50 -0
  185. aider/website/docs/llms/warnings.md +10 -0
  186. aider/website/docs/llms/xai.md +53 -0
  187. aider/website/docs/llms.md +54 -0
  188. aider/website/docs/more/analytics.md +122 -0
  189. aider/website/docs/more/edit-formats.md +116 -0
  190. aider/website/docs/more/infinite-output.md +137 -0
  191. aider/website/docs/more-info.md +8 -0
  192. aider/website/docs/recordings/auto-accept-architect.md +31 -0
  193. aider/website/docs/recordings/dont-drop-original-read-files.md +35 -0
  194. aider/website/docs/recordings/index.md +21 -0
  195. aider/website/docs/recordings/model-accepts-settings.md +69 -0
  196. aider/website/docs/recordings/tree-sitter-language-pack.md +80 -0
  197. aider/website/docs/repomap.md +112 -0
  198. aider/website/docs/scripting.md +100 -0
  199. aider/website/docs/troubleshooting/aider-not-found.md +24 -0
  200. aider/website/docs/troubleshooting/edit-errors.md +76 -0
  201. aider/website/docs/troubleshooting/imports.md +62 -0
  202. aider/website/docs/troubleshooting/models-and-keys.md +54 -0
  203. aider/website/docs/troubleshooting/support.md +79 -0
  204. aider/website/docs/troubleshooting/token-limits.md +96 -0
  205. aider/website/docs/troubleshooting/warnings.md +12 -0
  206. aider/website/docs/troubleshooting.md +11 -0
  207. aider/website/docs/usage/browser.md +57 -0
  208. aider/website/docs/usage/caching.md +49 -0
  209. aider/website/docs/usage/commands.md +132 -0
  210. aider/website/docs/usage/conventions.md +119 -0
  211. aider/website/docs/usage/copypaste.md +121 -0
  212. aider/website/docs/usage/images-urls.md +48 -0
  213. aider/website/docs/usage/lint-test.md +118 -0
  214. aider/website/docs/usage/modes.md +211 -0
  215. aider/website/docs/usage/not-code.md +179 -0
  216. aider/website/docs/usage/notifications.md +87 -0
  217. aider/website/docs/usage/tips.md +79 -0
  218. aider/website/docs/usage/tutorials.md +30 -0
  219. aider/website/docs/usage/voice.md +121 -0
  220. aider/website/docs/usage/watch.md +294 -0
  221. aider/website/docs/usage.md +92 -0
  222. aider/website/share/index.md +101 -0
  223. chatmcp_cli-0.1.0.dist-info/METADATA +502 -0
  224. chatmcp_cli-0.1.0.dist-info/RECORD +228 -0
  225. chatmcp_cli-0.1.0.dist-info/WHEEL +5 -0
  226. chatmcp_cli-0.1.0.dist-info/entry_points.txt +3 -0
  227. chatmcp_cli-0.1.0.dist-info/licenses/LICENSE.txt +202 -0
  228. chatmcp_cli-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,115 @@
1
+ ; Modules
2
+ ;--------
3
+
4
+ (
5
+ (comment)? @doc .
6
+ (module_definition (module_binding (module_name) @name.definition.module) @definition.module)
7
+ (#strip! @doc "^\\(\\*\\*?\\s*|\\s\\*\\)$")
8
+ )
9
+
10
+ (module_path (module_name) @name.reference.module) @reference.module
11
+
12
+ ; Module types
13
+ ;--------------
14
+
15
+ (
16
+ (comment)? @doc .
17
+ (module_type_definition (module_type_name) @name.definition.interface) @definition.interface
18
+ (#strip! @doc "^\\(\\*\\*?\\s*|\\s\\*\\)$")
19
+ )
20
+
21
+ (module_type_path (module_type_name) @name.reference.implementation) @reference.implementation
22
+
23
+ ; Functions
24
+ ;----------
25
+
26
+ (
27
+ (comment)? @doc .
28
+ (value_definition
29
+ [
30
+ (let_binding
31
+ pattern: (value_name) @name.definition.function
32
+ (parameter))
33
+ (let_binding
34
+ pattern: (value_name) @name.definition.function
35
+ body: [(fun_expression) (function_expression)])
36
+ ] @definition.function
37
+ )
38
+ (#strip! @doc "^\\(\\*\\*?\\s*|\\s\\*\\)$")
39
+ )
40
+
41
+ (
42
+ (comment)? @doc .
43
+ (external (value_name) @name.definition.function) @definition.function
44
+ (#strip! @doc "^\\(\\*\\*?\\s*|\\s\\*\\)$")
45
+ )
46
+
47
+ (application_expression
48
+ function: (value_path (value_name) @name.reference.call)) @reference.call
49
+
50
+ (infix_expression
51
+ left: (value_path (value_name) @name.reference.call)
52
+ operator: (concat_operator) @reference.call
53
+ (#eq? @reference.call "@@"))
54
+
55
+ (infix_expression
56
+ operator: (rel_operator) @reference.call
57
+ right: (value_path (value_name) @name.reference.call)
58
+ (#eq? @reference.call "|>"))
59
+
60
+ ; Operator
61
+ ;---------
62
+
63
+ (
64
+ (comment)? @doc .
65
+ (value_definition
66
+ (let_binding
67
+ pattern: (parenthesized_operator (_) @name.definition.function)) @definition.function)
68
+ (#strip! @doc "^\\(\\*\\*?\\s*|\\s\\*\\)$")
69
+ )
70
+
71
+ [
72
+ (prefix_operator)
73
+ (sign_operator)
74
+ (pow_operator)
75
+ (mult_operator)
76
+ (add_operator)
77
+ (concat_operator)
78
+ (rel_operator)
79
+ (and_operator)
80
+ (or_operator)
81
+ (assign_operator)
82
+ (hash_operator)
83
+ (indexing_operator)
84
+ (let_operator)
85
+ (let_and_operator)
86
+ (match_operator)
87
+ ] @name.reference.call @reference.call
88
+
89
+ ; Classes
90
+ ;--------
91
+
92
+ (
93
+ (comment)? @doc .
94
+ [
95
+ (class_definition (class_binding (class_name) @name.definition.class) @definition.class)
96
+ (class_type_definition (class_type_binding (class_type_name) @name.definition.class) @definition.class)
97
+ ]
98
+ (#strip! @doc "^\\(\\*\\*?\\s*|\\s\\*\\)$")
99
+ )
100
+
101
+ [
102
+ (class_path (class_name) @name.reference.class)
103
+ (class_type_path (class_type_name) @name.reference.class)
104
+ ] @reference.class
105
+
106
+ ; Methods
107
+ ;--------
108
+
109
+ (
110
+ (comment)? @doc .
111
+ (method_definition (method_name) @name.definition.method) @definition.method
112
+ (#strip! @doc "^\\(\\*\\*?\\s*|\\s\\*\\)$")
113
+ )
114
+
115
+ (method_invocation (method_name) @name.reference.call) @reference.call
@@ -0,0 +1,98 @@
1
+ ; Modules
2
+ ;--------
3
+
4
+ (
5
+ (comment)? @doc .
6
+ (module_definition
7
+ (module_binding (module_name) @name) @definition.module
8
+ )
9
+ (#strip! @doc "^\\(\\*+\\s*|\\s*\\*+\\)$")
10
+ )
11
+
12
+ (module_path (module_name) @name) @reference.module
13
+ (extended_module_path (module_name) @name) @reference.module
14
+
15
+ (
16
+ (comment)? @doc .
17
+ (module_type_definition (module_type_name) @name) @definition.interface
18
+ (#strip! @doc "^\\(\\*+\\s*|\\s*\\*+\\)$")
19
+ )
20
+
21
+ (module_type_path (module_type_name) @name) @reference.implementation
22
+
23
+
24
+ ; Classes
25
+ ;--------
26
+
27
+ (
28
+ (comment)? @doc .
29
+ [
30
+ (class_definition
31
+ (class_binding (class_name) @name) @definition.class
32
+ )
33
+ (class_type_definition
34
+ (class_type_binding (class_type_name) @name) @definition.class
35
+ )
36
+ ]
37
+ (#strip! @doc "^\\(\\*+\\s*|\\s*\\*+\\)$")
38
+ )
39
+
40
+ [
41
+ (class_path (class_name) @name)
42
+ (class_type_path (class_type_name) @name)
43
+ ] @reference.class
44
+
45
+ (
46
+ (comment)? @doc .
47
+ (method_definition (method_name) @name) @definition.method
48
+ (#strip! @doc "^\\(\\*+\\s*|\\s*\\*+\\)$")
49
+ )
50
+
51
+ (method_invocation (method_name) @name) @reference.call
52
+
53
+
54
+ ; Types
55
+ ;------
56
+
57
+ (
58
+ (comment)? @doc .
59
+ (type_definition
60
+ (type_binding
61
+ name: [
62
+ (type_constructor) @name
63
+ (type_constructor_path (type_constructor) @name)
64
+ ]
65
+ ) @definition.type
66
+ )
67
+ (#strip! @doc "^\\(\\*+\\s*|\\s*\\*+\\)$")
68
+ )
69
+
70
+ (type_constructor_path (type_constructor) @name) @reference.type
71
+
72
+ [
73
+ (constructor_declaration (constructor_name) @name)
74
+ (tag_specification (tag) @name)
75
+ ] @definition.enum_variant
76
+
77
+ [
78
+ (constructor_path (constructor_name) @name)
79
+ (tag) @name
80
+ ] @reference.enum_variant
81
+
82
+ (field_declaration (field_name) @name) @definition.field
83
+
84
+ (field_path (field_name) @name) @reference.field
85
+
86
+ (
87
+ (comment)? @doc .
88
+ (external (value_name) @name) @definition.function
89
+ (#strip! @doc "^\\(\\*+\\s*|\\s*\\*+\\)$")
90
+ )
91
+
92
+ (
93
+ (comment)? @doc .
94
+ (value_specification
95
+ (value_name) @name.definition.function
96
+ ) @definition.function
97
+ (#strip! @doc "^\\(\\*+\\s*|\\s*\\*+\\)$")
98
+ )
@@ -0,0 +1,39 @@
1
+ ;Class definitions @definition.class
2
+ ;Function definitions @definition.function
3
+ ;Interface definitions @definition.interface
4
+ ;Method definitions @definition.method
5
+ ;Module definitions @definition.module
6
+ ;Function/method calls @reference.call
7
+ ;Class reference @reference.class
8
+ ;Interface implementation @reference.implementation
9
+ (
10
+ (identifier) @reference.class
11
+ (#match? @reference.class "^_*[A-Z][a-zA-Z0-9_]*$")
12
+ )
13
+
14
+ (class_definition (identifier) @name.definition.class) @definition.class
15
+ (actor_definition (identifier) @name.definition.class) @definition.class
16
+ (primitive_definition (identifier) @name.definition.class) @definition.class
17
+ (struct_definition (identifier) @name.definition.class) @definition.class
18
+ (type_alias (identifier) @name.definition.class) @definition.class
19
+
20
+ (trait_definition (identifier) @name.definition.interface) @definition.interface
21
+ (interface_definition (identifier) @name.definition.interface) @definition.interface
22
+
23
+ (constructor (identifier) @name.definition.method) @definition.method
24
+ (method (identifier) @name.definition.method) @definition.method
25
+ (behavior (identifier) @name.definition.method) @definition.method
26
+
27
+ (class_definition (type) @name.reference.implementation) @reference.implementation
28
+ (actor_definition (type) @name.reference.implementation) @reference.implementation
29
+ (primitive_definition (type) @name.reference.implementation) @reference.implementation
30
+ (struct_definition (type) @name.reference.implementation) @reference.implementation
31
+ (type_alias (type) @name.reference.implementation) @reference.implementation
32
+
33
+ ; calls - not catching all possible call cases of callees for capturing the method name
34
+ (call_expression callee: [(identifier) (ffi_identifier)] @name.reference.call) @reference.call
35
+ (call_expression callee: (generic_expression [(identifier) (ffi_identifier)] @name.reference.call)) @reference.call
36
+ (call_expression callee: (member_expression (identifier) @name.reference.call .)) @reference.call
37
+ (call_expression callee: (member_expression (generic_expression [(identifier) (ffi_identifier)] @name.reference.call) .)) @reference.call
38
+ ; TODO: add more possible callee expressions
39
+ (call_expression) @reference.call
@@ -0,0 +1,5 @@
1
+ (property
2
+ (key) @name.definition.property) @definition.property
3
+
4
+ (substitution
5
+ (key) @name.reference.property) @reference.property
@@ -0,0 +1,14 @@
1
+ (module (expression_statement (assignment left: (identifier) @name.definition.constant) @definition.constant))
2
+
3
+ (class_definition
4
+ name: (identifier) @name.definition.class) @definition.class
5
+
6
+ (function_definition
7
+ name: (identifier) @name.definition.function) @definition.function
8
+
9
+ (call
10
+ function: [
11
+ (identifier) @name.reference.call
12
+ (attribute
13
+ attribute: (identifier) @name.reference.call)
14
+ ]) @reference.call
@@ -0,0 +1,21 @@
1
+ (binary_operator
2
+ lhs: (identifier) @name.definition.function
3
+ operator: "<-"
4
+ rhs: (function_definition)
5
+ ) @definition.function
6
+
7
+ (binary_operator
8
+ lhs: (identifier) @name.definition.function
9
+ operator: "="
10
+ rhs: (function_definition)
11
+ ) @definition.function
12
+
13
+ (call
14
+ function: (identifier) @name.reference.call
15
+ ) @reference.call
16
+
17
+ (call
18
+ function: (namespace_operator
19
+ rhs: (identifier) @name.reference.call
20
+ )
21
+ ) @reference.call
@@ -0,0 +1,12 @@
1
+ (list
2
+ .
3
+ (symbol) @reference._define
4
+ (#match? @reference._define "^(define|define/contract)$")
5
+ .
6
+ (list
7
+ .
8
+ (symbol) @name.definition.function) @definition.function)
9
+
10
+ (list
11
+ .
12
+ (symbol) @name.reference.call)
@@ -0,0 +1,64 @@
1
+ ; Method definitions
2
+
3
+ (
4
+ (comment)* @doc
5
+ .
6
+ [
7
+ (method
8
+ name: (_) @name.definition.method) @definition.method
9
+ (singleton_method
10
+ name: (_) @name.definition.method) @definition.method
11
+ ]
12
+ (#strip! @doc "^#\\s*")
13
+ (#select-adjacent! @doc @definition.method)
14
+ )
15
+
16
+ (alias
17
+ name: (_) @name.definition.method) @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.definition.class
31
+ (scope_resolution
32
+ name: (_) @name.definition.class)
33
+ ]) @definition.class
34
+ (singleton_class
35
+ value: [
36
+ (constant) @name.definition.class
37
+ (scope_resolution
38
+ name: (_) @name.definition.class)
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.definition.module
51
+ (scope_resolution
52
+ name: (_) @name.definition.module)
53
+ ]) @definition.module
54
+ )
55
+
56
+ ; Calls
57
+
58
+ (call method: (identifier) @name.reference.call) @reference.call
59
+
60
+ (
61
+ [(identifier) (constant)] @name.reference.call @reference.call
62
+ (#is-not? local)
63
+ (#not-match? @name.reference.call "^(lambda|load|require|require_relative|__FILE__|__LINE__)$")
64
+ )
@@ -0,0 +1,60 @@
1
+ ; ADT definitions
2
+
3
+ (struct_item
4
+ name: (type_identifier) @name.definition.class) @definition.class
5
+
6
+ (enum_item
7
+ name: (type_identifier) @name.definition.class) @definition.class
8
+
9
+ (union_item
10
+ name: (type_identifier) @name.definition.class) @definition.class
11
+
12
+ ; type aliases
13
+
14
+ (type_item
15
+ name: (type_identifier) @name.definition.class) @definition.class
16
+
17
+ ; method definitions
18
+
19
+ (declaration_list
20
+ (function_item
21
+ name: (identifier) @name.definition.method) @definition.method)
22
+
23
+ ; function definitions
24
+
25
+ (function_item
26
+ name: (identifier) @name.definition.function) @definition.function
27
+
28
+ ; trait definitions
29
+ (trait_item
30
+ name: (type_identifier) @name.definition.interface) @definition.interface
31
+
32
+ ; module definitions
33
+ (mod_item
34
+ name: (identifier) @name.definition.module) @definition.module
35
+
36
+ ; macro definitions
37
+
38
+ (macro_definition
39
+ name: (identifier) @name.definition.macro) @definition.macro
40
+
41
+ ; references
42
+
43
+ (call_expression
44
+ function: (identifier) @name.reference.call) @reference.call
45
+
46
+ (call_expression
47
+ function: (field_expression
48
+ field: (field_identifier) @name.reference.call)) @reference.call
49
+
50
+ (macro_invocation
51
+ macro: (identifier) @name.reference.call) @reference.call
52
+
53
+ ; implementations
54
+
55
+ (impl_item
56
+ trait: (type_identifier) @name.reference.implementation) @reference.implementation
57
+
58
+ (impl_item
59
+ type: (type_identifier) @name.reference.implementation
60
+ !trait) @reference.implementation
@@ -0,0 +1,43 @@
1
+ ;; Method and Function declarations
2
+ (contract_declaration (_
3
+ (function_definition
4
+ name: (identifier) @name.definition.function) @definition.method))
5
+
6
+ (source_file
7
+ (function_definition
8
+ name: (identifier) @name.definition.function) @definition.function)
9
+
10
+ ;; Contract, struct, enum and interface declarations
11
+ (contract_declaration
12
+ name: (identifier) @name.definition.class) @definition.class
13
+
14
+ (interface_declaration
15
+ name: (identifier) @name.definition.interface) @definition.interface
16
+
17
+ (library_declaration
18
+ name: (identifier) @name.definition.class) @definition.interface
19
+
20
+ (struct_declaration name: (identifier) @name.definition.class) @definition.class
21
+ (enum_declaration name: (identifier) @name.definition.class) @definition.class
22
+ (event_definition name: (identifier) @name.definition.class) @definition.class
23
+
24
+ ;; Function calls
25
+ (call_expression (expression (identifier)) @name.reference.call ) @reference.call
26
+
27
+ (call_expression
28
+ (expression (member_expression
29
+ property: (_) @name.reference.method ))) @reference.call
30
+
31
+ ;; Log emit
32
+ (emit_statement name: (_) @name.reference.class) @reference.class
33
+
34
+
35
+ ;; Inheritance
36
+
37
+ (inheritance_specifier
38
+ ancestor: (user_defined_type (_) @name.reference.class . )) @reference.class
39
+
40
+
41
+ ;; Imports ( note that unknown is not standardised )
42
+ (import_directive
43
+ import_name: (_) @name.reference.module ) @reference.unknown
@@ -0,0 +1,51 @@
1
+ (class_declaration
2
+ name: (type_identifier) @name.definition.class) @definition.class
3
+
4
+ (protocol_declaration
5
+ name: (type_identifier) @name.definition.interface) @definition.interface
6
+
7
+ (class_declaration
8
+ (class_body
9
+ [
10
+ (function_declaration
11
+ name: (simple_identifier) @name.definition.method
12
+ )
13
+ (subscript_declaration
14
+ (parameter (simple_identifier) @name.definition.method)
15
+ )
16
+ (init_declaration "init" @name.definition.method)
17
+ (deinit_declaration "deinit" @name.definition.method)
18
+ ]
19
+ )
20
+ ) @definition.method
21
+
22
+ (protocol_declaration
23
+ (protocol_body
24
+ [
25
+ (protocol_function_declaration
26
+ name: (simple_identifier) @name.definition.method
27
+ )
28
+ (subscript_declaration
29
+ (parameter (simple_identifier) @name.definition.method)
30
+ )
31
+ (init_declaration "init" @name.definition.method)
32
+ ]
33
+ )
34
+ ) @definition.method
35
+
36
+ (class_declaration
37
+ (class_body
38
+ [
39
+ (property_declaration
40
+ (pattern (simple_identifier) @name.definition.property)
41
+ )
42
+ ]
43
+ )
44
+ ) @definition.property
45
+
46
+ (property_declaration
47
+ (pattern (simple_identifier) @name.definition.property)
48
+ ) @definition.property
49
+
50
+ (function_declaration
51
+ name: (simple_identifier) @name.definition.function) @definition.function
@@ -0,0 +1,20 @@
1
+ (assignment
2
+ key: "LABEL"
3
+ (value
4
+ (content) @name.definition.label)) @definition.label
5
+
6
+ (assignment
7
+ key: "GOTO"
8
+ (value
9
+ (content) @name.reference.label)) @reference.label
10
+
11
+ (assignment
12
+ key: "ENV"
13
+ (env_var) @name.definition.variable) @definition.variable
14
+
15
+ (match
16
+ key: "ENV"
17
+ (env_var) @name.reference.variable) @reference.variable
18
+
19
+ (var_sub
20
+ (env_var) @name.reference.variable) @reference.variable
@@ -0,0 +1,23 @@
1
+
2
+ # Credits
3
+
4
+ Aider uses modified versions of the tags.scm files from these open source
5
+ tree-sitter language implementations:
6
+
7
+ * [https://github.com/tree-sitter/tree-sitter-c](https://github.com/tree-sitter/tree-sitter-c) — licensed under the MIT License.
8
+ * [https://github.com/tree-sitter/tree-sitter-c-sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) — licensed under the MIT License.
9
+ * [https://github.com/tree-sitter/tree-sitter-cpp](https://github.com/tree-sitter/tree-sitter-cpp) — licensed under the MIT License.
10
+ * [https://github.com/Wilfred/tree-sitter-elisp](https://github.com/Wilfred/tree-sitter-elisp) — licensed under the MIT License.
11
+ * [https://github.com/elixir-lang/tree-sitter-elixir](https://github.com/elixir-lang/tree-sitter-elixir) — licensed under the Apache License, Version 2.0.
12
+ * [https://github.com/elm-tooling/tree-sitter-elm](https://github.com/elm-tooling/tree-sitter-elm) — licensed under the MIT License.
13
+ * [https://github.com/tree-sitter/tree-sitter-go](https://github.com/tree-sitter/tree-sitter-go) — licensed under the MIT License.
14
+ * [https://github.com/tree-sitter/tree-sitter-java](https://github.com/tree-sitter/tree-sitter-java) — licensed under the MIT License.
15
+ * [https://github.com/tree-sitter/tree-sitter-javascript](https://github.com/tree-sitter/tree-sitter-javascript) — licensed under the MIT License.
16
+ * [https://github.com/tree-sitter/tree-sitter-ocaml](https://github.com/tree-sitter/tree-sitter-ocaml) — licensed under the MIT License.
17
+ * [https://github.com/tree-sitter/tree-sitter-php](https://github.com/tree-sitter/tree-sitter-php) — licensed under the MIT License.
18
+ * [https://github.com/tree-sitter/tree-sitter-python](https://github.com/tree-sitter/tree-sitter-python) — licensed under the MIT License.
19
+ * [https://github.com/tree-sitter/tree-sitter-ql](https://github.com/tree-sitter/tree-sitter-ql) — licensed under the MIT License.
20
+ * [https://github.com/r-lib/tree-sitter-r](https://github.com/r-lib/tree-sitter-r) — licensed under the MIT License.
21
+ * [https://github.com/tree-sitter/tree-sitter-ruby](https://github.com/tree-sitter/tree-sitter-ruby) — licensed under the MIT License.
22
+ * [https://github.com/tree-sitter/tree-sitter-rust](https://github.com/tree-sitter/tree-sitter-rust) — licensed under the MIT License.
23
+ * [https://github.com/tree-sitter/tree-sitter-typescript](https://github.com/tree-sitter/tree-sitter-typescript) — licensed under the MIT License.
@@ -0,0 +1,9 @@
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
+ (type_definition declarator: (type_identifier) @name.definition.type) @definition.type
8
+
9
+ (enum_specifier name: (type_identifier) @name.definition.type) @definition.type
@@ -0,0 +1,46 @@
1
+ (class_declaration
2
+ name: (identifier) @name.definition.class
3
+ ) @definition.class
4
+
5
+ (class_declaration
6
+ bases: (base_list (_) @name.reference.class)
7
+ ) @reference.class
8
+
9
+ (interface_declaration
10
+ name: (identifier) @name.definition.interface
11
+ ) @definition.interface
12
+
13
+ (interface_declaration
14
+ bases: (base_list (_) @name.reference.interface)
15
+ ) @reference.interface
16
+
17
+ (method_declaration
18
+ name: (identifier) @name.definition.method
19
+ ) @definition.method
20
+
21
+ (object_creation_expression
22
+ type: (identifier) @name.reference.class
23
+ ) @reference.class
24
+
25
+ (type_parameter_constraints_clause
26
+ target: (identifier) @name.reference.class
27
+ ) @reference.class
28
+
29
+ (type_constraint
30
+ type: (identifier) @name.reference.class
31
+ ) @reference.class
32
+
33
+ (variable_declaration
34
+ type: (identifier) @name.reference.class
35
+ ) @reference.class
36
+
37
+ (invocation_expression
38
+ function:
39
+ (member_access_expression
40
+ name: (identifier) @name.reference.send
41
+ )
42
+ ) @reference.send
43
+
44
+ (namespace_declaration
45
+ name: (identifier) @name.definition.module
46
+ ) @definition.module
@@ -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) @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