cecli-dev 0.93.1__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.
- cecli/__init__.py +20 -0
- cecli/__main__.py +4 -0
- cecli/_version.py +34 -0
- cecli/args.py +1092 -0
- cecli/args_formatter.py +228 -0
- cecli/change_tracker.py +133 -0
- cecli/coders/__init__.py +38 -0
- cecli/coders/agent_coder.py +1872 -0
- cecli/coders/architect_coder.py +63 -0
- cecli/coders/ask_coder.py +8 -0
- cecli/coders/base_coder.py +3993 -0
- cecli/coders/chat_chunks.py +116 -0
- cecli/coders/context_coder.py +52 -0
- cecli/coders/copypaste_coder.py +269 -0
- cecli/coders/editblock_coder.py +656 -0
- cecli/coders/editblock_fenced_coder.py +9 -0
- cecli/coders/editblock_func_coder.py +140 -0
- cecli/coders/editor_diff_fenced_coder.py +8 -0
- cecli/coders/editor_editblock_coder.py +8 -0
- cecli/coders/editor_whole_coder.py +8 -0
- cecli/coders/help_coder.py +15 -0
- cecli/coders/patch_coder.py +705 -0
- cecli/coders/search_replace.py +757 -0
- cecli/coders/shell.py +37 -0
- cecli/coders/single_wholefile_func_coder.py +101 -0
- cecli/coders/udiff_coder.py +428 -0
- cecli/coders/udiff_simple.py +12 -0
- cecli/coders/wholefile_coder.py +143 -0
- cecli/coders/wholefile_func_coder.py +133 -0
- cecli/commands/__init__.py +192 -0
- cecli/commands/add.py +226 -0
- cecli/commands/agent.py +51 -0
- cecli/commands/architect.py +46 -0
- cecli/commands/ask.py +44 -0
- cecli/commands/chat_mode.py +0 -0
- cecli/commands/clear.py +37 -0
- cecli/commands/code.py +46 -0
- cecli/commands/command_prefix.py +44 -0
- cecli/commands/commit.py +52 -0
- cecli/commands/context.py +47 -0
- cecli/commands/context_blocks.py +124 -0
- cecli/commands/context_management.py +51 -0
- cecli/commands/copy.py +62 -0
- cecli/commands/copy_context.py +81 -0
- cecli/commands/core.py +287 -0
- cecli/commands/diff.py +68 -0
- cecli/commands/drop.py +217 -0
- cecli/commands/editor.py +78 -0
- cecli/commands/exit.py +55 -0
- cecli/commands/git.py +57 -0
- cecli/commands/help.py +140 -0
- cecli/commands/history_search.py +40 -0
- cecli/commands/lint.py +109 -0
- cecli/commands/list_sessions.py +56 -0
- cecli/commands/load.py +85 -0
- cecli/commands/load_session.py +48 -0
- cecli/commands/load_skill.py +68 -0
- cecli/commands/ls.py +75 -0
- cecli/commands/map.py +37 -0
- cecli/commands/map_refresh.py +35 -0
- cecli/commands/model.py +118 -0
- cecli/commands/models.py +41 -0
- cecli/commands/multiline_mode.py +38 -0
- cecli/commands/paste.py +91 -0
- cecli/commands/quit.py +32 -0
- cecli/commands/read_only.py +267 -0
- cecli/commands/read_only_stub.py +270 -0
- cecli/commands/reasoning_effort.py +70 -0
- cecli/commands/remove_skill.py +68 -0
- cecli/commands/report.py +40 -0
- cecli/commands/reset.py +88 -0
- cecli/commands/run.py +99 -0
- cecli/commands/save.py +49 -0
- cecli/commands/save_session.py +43 -0
- cecli/commands/settings.py +69 -0
- cecli/commands/test.py +58 -0
- cecli/commands/think_tokens.py +74 -0
- cecli/commands/tokens.py +207 -0
- cecli/commands/undo.py +145 -0
- cecli/commands/utils/__init__.py +0 -0
- cecli/commands/utils/base_command.py +131 -0
- cecli/commands/utils/helpers.py +142 -0
- cecli/commands/utils/registry.py +53 -0
- cecli/commands/utils/save_load_manager.py +98 -0
- cecli/commands/voice.py +78 -0
- cecli/commands/weak_model.py +123 -0
- cecli/commands/web.py +87 -0
- cecli/deprecated_args.py +185 -0
- cecli/diffs.py +129 -0
- cecli/dump.py +29 -0
- cecli/editor.py +147 -0
- cecli/exceptions.py +115 -0
- cecli/format_settings.py +26 -0
- cecli/help.py +119 -0
- cecli/help_pats.py +19 -0
- cecli/helpers/__init__.py +9 -0
- cecli/helpers/copypaste.py +123 -0
- cecli/helpers/coroutines.py +8 -0
- cecli/helpers/file_searcher.py +142 -0
- cecli/helpers/model_providers.py +552 -0
- cecli/helpers/plugin_manager.py +81 -0
- cecli/helpers/profiler.py +162 -0
- cecli/helpers/requests.py +77 -0
- cecli/helpers/similarity.py +98 -0
- cecli/helpers/skills.py +577 -0
- cecli/history.py +186 -0
- cecli/io.py +1782 -0
- cecli/linter.py +304 -0
- cecli/llm.py +101 -0
- cecli/main.py +1280 -0
- cecli/mcp/__init__.py +154 -0
- cecli/mcp/oauth.py +250 -0
- cecli/mcp/server.py +278 -0
- cecli/mdstream.py +243 -0
- cecli/models.py +1255 -0
- cecli/onboarding.py +301 -0
- cecli/prompts/__init__.py +0 -0
- cecli/prompts/agent.yml +71 -0
- cecli/prompts/architect.yml +35 -0
- cecli/prompts/ask.yml +31 -0
- cecli/prompts/base.yml +99 -0
- cecli/prompts/context.yml +60 -0
- cecli/prompts/copypaste.yml +5 -0
- cecli/prompts/editblock.yml +143 -0
- cecli/prompts/editblock_fenced.yml +106 -0
- cecli/prompts/editblock_func.yml +25 -0
- cecli/prompts/editor_diff_fenced.yml +115 -0
- cecli/prompts/editor_editblock.yml +121 -0
- cecli/prompts/editor_whole.yml +46 -0
- cecli/prompts/help.yml +37 -0
- cecli/prompts/patch.yml +110 -0
- cecli/prompts/single_wholefile_func.yml +24 -0
- cecli/prompts/udiff.yml +106 -0
- cecli/prompts/udiff_simple.yml +13 -0
- cecli/prompts/utils/__init__.py +0 -0
- cecli/prompts/utils/prompt_registry.py +167 -0
- cecli/prompts/utils/system.py +56 -0
- cecli/prompts/wholefile.yml +50 -0
- cecli/prompts/wholefile_func.yml +24 -0
- cecli/queries/tree-sitter-language-pack/README.md +7 -0
- cecli/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
- cecli/queries/tree-sitter-language-pack/c-tags.scm +12 -0
- cecli/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
- cecli/queries/tree-sitter-language-pack/clojure-tags.scm +12 -0
- cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +127 -0
- cecli/queries/tree-sitter-language-pack/cpp-tags.scm +18 -0
- cecli/queries/tree-sitter-language-pack/csharp-tags.scm +32 -0
- cecli/queries/tree-sitter-language-pack/d-tags.scm +26 -0
- cecli/queries/tree-sitter-language-pack/dart-tags.scm +97 -0
- cecli/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
- cecli/queries/tree-sitter-language-pack/elixir-tags.scm +59 -0
- cecli/queries/tree-sitter-language-pack/elm-tags.scm +22 -0
- cecli/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
- cecli/queries/tree-sitter-language-pack/go-tags.scm +49 -0
- cecli/queries/tree-sitter-language-pack/java-tags.scm +26 -0
- cecli/queries/tree-sitter-language-pack/javascript-tags.scm +96 -0
- cecli/queries/tree-sitter-language-pack/lua-tags.scm +39 -0
- cecli/queries/tree-sitter-language-pack/matlab-tags.scm +10 -0
- cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
- cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +101 -0
- cecli/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
- cecli/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
- cecli/queries/tree-sitter-language-pack/python-tags.scm +24 -0
- cecli/queries/tree-sitter-language-pack/r-tags.scm +27 -0
- cecli/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
- cecli/queries/tree-sitter-language-pack/ruby-tags.scm +69 -0
- cecli/queries/tree-sitter-language-pack/rust-tags.scm +63 -0
- cecli/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
- cecli/queries/tree-sitter-language-pack/swift-tags.scm +54 -0
- cecli/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
- cecli/queries/tree-sitter-languages/README.md +24 -0
- cecli/queries/tree-sitter-languages/c-tags.scm +12 -0
- cecli/queries/tree-sitter-languages/c_sharp-tags.scm +52 -0
- cecli/queries/tree-sitter-languages/cpp-tags.scm +18 -0
- cecli/queries/tree-sitter-languages/dart-tags.scm +92 -0
- cecli/queries/tree-sitter-languages/elisp-tags.scm +8 -0
- cecli/queries/tree-sitter-languages/elixir-tags.scm +59 -0
- cecli/queries/tree-sitter-languages/elm-tags.scm +22 -0
- cecli/queries/tree-sitter-languages/fortran-tags.scm +18 -0
- cecli/queries/tree-sitter-languages/go-tags.scm +36 -0
- cecli/queries/tree-sitter-languages/haskell-tags.scm +5 -0
- cecli/queries/tree-sitter-languages/hcl-tags.scm +77 -0
- cecli/queries/tree-sitter-languages/java-tags.scm +26 -0
- cecli/queries/tree-sitter-languages/javascript-tags.scm +96 -0
- cecli/queries/tree-sitter-languages/julia-tags.scm +60 -0
- cecli/queries/tree-sitter-languages/kotlin-tags.scm +30 -0
- cecli/queries/tree-sitter-languages/matlab-tags.scm +10 -0
- cecli/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
- cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +104 -0
- cecli/queries/tree-sitter-languages/php-tags.scm +32 -0
- cecli/queries/tree-sitter-languages/python-tags.scm +22 -0
- cecli/queries/tree-sitter-languages/ql-tags.scm +26 -0
- cecli/queries/tree-sitter-languages/ruby-tags.scm +69 -0
- cecli/queries/tree-sitter-languages/rust-tags.scm +63 -0
- cecli/queries/tree-sitter-languages/scala-tags.scm +64 -0
- cecli/queries/tree-sitter-languages/typescript-tags.scm +44 -0
- cecli/queries/tree-sitter-languages/zig-tags.scm +20 -0
- cecli/reasoning_tags.py +82 -0
- cecli/repo.py +626 -0
- cecli/repomap.py +1368 -0
- cecli/report.py +260 -0
- cecli/resources/__init__.py +3 -0
- cecli/resources/model-metadata.json +25751 -0
- cecli/resources/model-settings.yml +2394 -0
- cecli/resources/providers.json +67 -0
- cecli/run_cmd.py +143 -0
- cecli/scrape.py +295 -0
- cecli/sendchat.py +250 -0
- cecli/sessions.py +281 -0
- cecli/special.py +203 -0
- cecli/tools/__init__.py +72 -0
- cecli/tools/command.py +103 -0
- cecli/tools/command_interactive.py +113 -0
- cecli/tools/context_manager.py +175 -0
- cecli/tools/delete_block.py +154 -0
- cecli/tools/delete_line.py +120 -0
- cecli/tools/delete_lines.py +144 -0
- cecli/tools/extract_lines.py +281 -0
- cecli/tools/finished.py +35 -0
- cecli/tools/git_branch.py +132 -0
- cecli/tools/git_diff.py +49 -0
- cecli/tools/git_log.py +43 -0
- cecli/tools/git_remote.py +39 -0
- cecli/tools/git_show.py +37 -0
- cecli/tools/git_status.py +32 -0
- cecli/tools/grep.py +242 -0
- cecli/tools/indent_lines.py +195 -0
- cecli/tools/insert_block.py +263 -0
- cecli/tools/list_changes.py +71 -0
- cecli/tools/load_skill.py +51 -0
- cecli/tools/ls.py +77 -0
- cecli/tools/remove_skill.py +51 -0
- cecli/tools/replace_all.py +113 -0
- cecli/tools/replace_line.py +135 -0
- cecli/tools/replace_lines.py +180 -0
- cecli/tools/replace_text.py +186 -0
- cecli/tools/show_numbered_context.py +137 -0
- cecli/tools/thinking.py +52 -0
- cecli/tools/undo_change.py +82 -0
- cecli/tools/update_todo_list.py +148 -0
- cecli/tools/utils/base_tool.py +64 -0
- cecli/tools/utils/helpers.py +359 -0
- cecli/tools/utils/output.py +119 -0
- cecli/tools/utils/registry.py +145 -0
- cecli/tools/view_files_matching.py +138 -0
- cecli/tools/view_files_with_symbol.py +117 -0
- cecli/tui/__init__.py +83 -0
- cecli/tui/app.py +971 -0
- cecli/tui/io.py +566 -0
- cecli/tui/styles.tcss +117 -0
- cecli/tui/widgets/__init__.py +19 -0
- cecli/tui/widgets/completion_bar.py +331 -0
- cecli/tui/widgets/file_list.py +76 -0
- cecli/tui/widgets/footer.py +165 -0
- cecli/tui/widgets/input_area.py +320 -0
- cecli/tui/widgets/key_hints.py +16 -0
- cecli/tui/widgets/output.py +354 -0
- cecli/tui/widgets/status_bar.py +279 -0
- cecli/tui/worker.py +160 -0
- cecli/urls.py +16 -0
- cecli/utils.py +499 -0
- cecli/versioncheck.py +90 -0
- cecli/voice.py +90 -0
- cecli/waiting.py +38 -0
- cecli/watch.py +316 -0
- cecli/watch_prompts.py +12 -0
- cecli/website/Gemfile +8 -0
- cecli/website/_includes/blame.md +162 -0
- cecli/website/_includes/get-started.md +22 -0
- cecli/website/_includes/help-tip.md +5 -0
- cecli/website/_includes/help.md +24 -0
- cecli/website/_includes/install.md +5 -0
- cecli/website/_includes/keys.md +4 -0
- cecli/website/_includes/model-warnings.md +67 -0
- cecli/website/_includes/multi-line.md +22 -0
- cecli/website/_includes/python-m-aider.md +5 -0
- cecli/website/_includes/recording.css +228 -0
- cecli/website/_includes/recording.md +34 -0
- cecli/website/_includes/replit-pipx.md +9 -0
- cecli/website/_includes/works-best.md +1 -0
- cecli/website/_sass/custom/custom.scss +103 -0
- cecli/website/docs/config/adv-model-settings.md +2498 -0
- cecli/website/docs/config/agent-mode.md +320 -0
- cecli/website/docs/config/aider_conf.md +548 -0
- cecli/website/docs/config/api-keys.md +90 -0
- cecli/website/docs/config/custom-commands.md +187 -0
- cecli/website/docs/config/dotenv.md +493 -0
- cecli/website/docs/config/editor.md +127 -0
- cecli/website/docs/config/mcp.md +210 -0
- cecli/website/docs/config/model-aliases.md +173 -0
- cecli/website/docs/config/options.md +890 -0
- cecli/website/docs/config/reasoning.md +210 -0
- cecli/website/docs/config/skills.md +172 -0
- cecli/website/docs/config/tui.md +126 -0
- cecli/website/docs/config.md +44 -0
- cecli/website/docs/faq.md +379 -0
- cecli/website/docs/git.md +76 -0
- cecli/website/docs/index.md +47 -0
- cecli/website/docs/install/codespaces.md +39 -0
- cecli/website/docs/install/docker.md +48 -0
- cecli/website/docs/install/optional.md +100 -0
- cecli/website/docs/install/replit.md +8 -0
- cecli/website/docs/install.md +115 -0
- cecli/website/docs/languages.md +264 -0
- cecli/website/docs/legal/contributor-agreement.md +111 -0
- cecli/website/docs/legal/privacy.md +104 -0
- cecli/website/docs/llms/anthropic.md +77 -0
- cecli/website/docs/llms/azure.md +48 -0
- cecli/website/docs/llms/bedrock.md +132 -0
- cecli/website/docs/llms/cohere.md +34 -0
- cecli/website/docs/llms/deepseek.md +32 -0
- cecli/website/docs/llms/gemini.md +49 -0
- cecli/website/docs/llms/github.md +111 -0
- cecli/website/docs/llms/groq.md +36 -0
- cecli/website/docs/llms/lm-studio.md +39 -0
- cecli/website/docs/llms/ollama.md +75 -0
- cecli/website/docs/llms/openai-compat.md +39 -0
- cecli/website/docs/llms/openai.md +58 -0
- cecli/website/docs/llms/openrouter.md +78 -0
- cecli/website/docs/llms/other.md +117 -0
- cecli/website/docs/llms/vertex.md +50 -0
- cecli/website/docs/llms/warnings.md +10 -0
- cecli/website/docs/llms/xai.md +53 -0
- cecli/website/docs/llms.md +54 -0
- cecli/website/docs/more/analytics.md +127 -0
- cecli/website/docs/more/edit-formats.md +116 -0
- cecli/website/docs/more/infinite-output.md +192 -0
- cecli/website/docs/more-info.md +8 -0
- cecli/website/docs/recordings/auto-accept-architect.md +31 -0
- cecli/website/docs/recordings/dont-drop-original-read-files.md +35 -0
- cecli/website/docs/recordings/index.md +21 -0
- cecli/website/docs/recordings/model-accepts-settings.md +69 -0
- cecli/website/docs/recordings/tree-sitter-language-pack.md +80 -0
- cecli/website/docs/repomap.md +112 -0
- cecli/website/docs/scripting.md +100 -0
- cecli/website/docs/sessions.md +213 -0
- cecli/website/docs/troubleshooting/aider-not-found.md +24 -0
- cecli/website/docs/troubleshooting/edit-errors.md +76 -0
- cecli/website/docs/troubleshooting/imports.md +62 -0
- cecli/website/docs/troubleshooting/models-and-keys.md +54 -0
- cecli/website/docs/troubleshooting/support.md +79 -0
- cecli/website/docs/troubleshooting/token-limits.md +96 -0
- cecli/website/docs/troubleshooting/warnings.md +12 -0
- cecli/website/docs/troubleshooting.md +11 -0
- cecli/website/docs/usage/browser.md +57 -0
- cecli/website/docs/usage/caching.md +49 -0
- cecli/website/docs/usage/commands.md +133 -0
- cecli/website/docs/usage/conventions.md +119 -0
- cecli/website/docs/usage/copypaste.md +136 -0
- cecli/website/docs/usage/images-urls.md +48 -0
- cecli/website/docs/usage/lint-test.md +118 -0
- cecli/website/docs/usage/modes.md +211 -0
- cecli/website/docs/usage/not-code.md +179 -0
- cecli/website/docs/usage/notifications.md +87 -0
- cecli/website/docs/usage/tips.md +79 -0
- cecli/website/docs/usage/tutorials.md +30 -0
- cecli/website/docs/usage/voice.md +121 -0
- cecli/website/docs/usage/watch.md +294 -0
- cecli/website/docs/usage.md +102 -0
- cecli/website/share/index.md +101 -0
- cecli_dev-0.93.1.dist-info/METADATA +549 -0
- cecli_dev-0.93.1.dist-info/RECORD +366 -0
- cecli_dev-0.93.1.dist-info/WHEEL +5 -0
- cecli_dev-0.93.1.dist-info/entry_points.txt +4 -0
- cecli_dev-0.93.1.dist-info/licenses/LICENSE.txt +202 -0
- cecli_dev-0.93.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,127 @@
|
|
|
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
|
+
(list_lit
|
|
82
|
+
. (sym_lit) @import_call
|
|
83
|
+
. (sym_lit) @name.reference.import
|
|
84
|
+
(#match? @import_call "^(require|load)$")) @reference.import
|
|
85
|
+
|
|
86
|
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
87
|
+
;;; classes
|
|
88
|
+
|
|
89
|
+
(list_lit . [(sym_lit) (package_lit)] @ignore
|
|
90
|
+
. [(sym_lit) (package_lit)] @name.definition.class
|
|
91
|
+
(#match? @ignore "(?i)^(cl:)?defclass$")
|
|
92
|
+
) @definition.class
|
|
93
|
+
|
|
94
|
+
(list_lit . [(sym_lit) (package_lit)] @ignore
|
|
95
|
+
. (quoting_lit [(sym_lit) (package_lit)] @name.reference.class)
|
|
96
|
+
(#match? @ignore "(?i)^(cl:)?make-instance$")
|
|
97
|
+
) @reference.class
|
|
98
|
+
|
|
99
|
+
;;; TODO:
|
|
100
|
+
;; - @reference.class for base classes
|
|
101
|
+
|
|
102
|
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
103
|
+
;;; TODO:
|
|
104
|
+
;; - Symbols referenced in defpackage
|
|
105
|
+
;;
|
|
106
|
+
;; (defpackage ...
|
|
107
|
+
;; (:export (symbol-a :symbol-b #:symbol-c "SYMBOL-D")))
|
|
108
|
+
;;
|
|
109
|
+
;; The goal is to allow quick navigation from the API
|
|
110
|
+
;; overview in the form of defpackage, to the definition
|
|
111
|
+
;; where user can read parameters, docstring, etc.
|
|
112
|
+
;; - The @name must not include the colon, or sharpsign colon, quotes,
|
|
113
|
+
;; just symbol-a, symbol-b, symbol-c, sybmol-d
|
|
114
|
+
;; - Downcase the names specified as string literals?
|
|
115
|
+
;; ("SYMBOL-D" -> symbol-d)
|
|
116
|
+
;; - We don't know if the exported symbol is a function, variable,
|
|
117
|
+
;; class or something else. The official doc
|
|
118
|
+
;; (https://tree-sitter.github.io/tree-sitter/code-navigation-systems)
|
|
119
|
+
;; does not even suggest a tag for variable reference.
|
|
120
|
+
;; (Although in practice, the `tree-sitter tags` command
|
|
121
|
+
;; allows any @reference.* and @definition.* tags)
|
|
122
|
+
;; Probably it's better to just use @reference.call for all
|
|
123
|
+
;; the symbols in the :export clause.
|
|
124
|
+
;;
|
|
125
|
+
;; - The same for the export function call:
|
|
126
|
+
;;
|
|
127
|
+
;; (export '(symbol-a :symbol-b #:symbol-c "SYMBOL-D"))
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
|
16
|
+
|
|
17
|
+
(preproc_include
|
|
18
|
+
path: (_) @name.reference.import) @reference.import
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
|
27
|
+
|
|
28
|
+
(using_directive
|
|
29
|
+
(qualified_name) @name.reference.import) @reference.import
|
|
30
|
+
|
|
31
|
+
(using_directive
|
|
32
|
+
(identifier) @name.reference.import) @reference.import
|
|
@@ -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,97 @@
|
|
|
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
|
+
|
|
93
|
+
(import_or_export
|
|
94
|
+
(library_import
|
|
95
|
+
(import_specification
|
|
96
|
+
(configurable_uri
|
|
97
|
+
(uri (string_literal) @name.reference.import))))) @reference.import
|
|
@@ -0,0 +1,59 @@
|
|
|
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
|
|
55
|
+
|
|
56
|
+
(call
|
|
57
|
+
target: (identifier) @import_call
|
|
58
|
+
(arguments (alias) @name.reference.import)
|
|
59
|
+
(#any-of? @import_call "alias" "import" "require" "use")) @reference.import
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
|
20
|
+
|
|
21
|
+
(import_clause
|
|
22
|
+
(upper_case_qid) @name.reference.import) @reference.import
|
|
@@ -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,49 @@
|
|
|
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))
|
|
43
|
+
|
|
44
|
+
(import_spec
|
|
45
|
+
path: [
|
|
46
|
+
(interpreted_string_literal)
|
|
47
|
+
(raw_string_literal)
|
|
48
|
+
] @name.reference.import) @reference.import
|
|
49
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
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
|
|
21
|
+
|
|
22
|
+
(import_declaration
|
|
23
|
+
(scoped_identifier) @name.reference.import) @reference.import
|
|
24
|
+
|
|
25
|
+
(import_declaration
|
|
26
|
+
(identifier) @name.reference.import) @reference.import
|
|
@@ -0,0 +1,96 @@
|
|
|
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
|
|
89
|
+
|
|
90
|
+
(import_statement
|
|
91
|
+
source: (string (string_fragment) @name.reference.import)) @reference.import
|
|
92
|
+
|
|
93
|
+
(call_expression
|
|
94
|
+
function: (identifier) @import_func
|
|
95
|
+
arguments: (arguments (string (string_fragment) @name.reference.import))
|
|
96
|
+
(#eq? @import_func "require")) @reference.import
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
|
35
|
+
|
|
36
|
+
(function_call
|
|
37
|
+
name: (identifier) @import_func
|
|
38
|
+
arguments: (arguments (string (string_content) @name.reference.import))
|
|
39
|
+
(#eq? @import_func "require")) @reference.import
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
(class_definition
|
|
2
|
+
name: (identifier) @name.definition.class) @definition.class
|
|
3
|
+
|
|
4
|
+
(function_definition
|
|
5
|
+
name: (identifier) @name.definition.function) @definition.function
|
|
6
|
+
|
|
7
|
+
(function_call
|
|
8
|
+
name: (identifier) @name.reference.call) @reference.call
|
|
9
|
+
|
|
10
|
+
(command (command_name) @name.reference.call) @reference.call
|