chad-code 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +27 -0
- package/Dockerfile +18 -0
- package/README.md +15 -0
- package/README.npm.md +64 -0
- package/bin/chad-code +84 -0
- package/bunfig.toml +7 -0
- package/eslint.config.js +29 -0
- package/package.json +107 -0
- package/parsers-config.ts +253 -0
- package/script/build.ts +167 -0
- package/script/postinstall.mjs +122 -0
- package/script/publish-registries.ts +187 -0
- package/script/publish.ts +93 -0
- package/script/schema.ts +47 -0
- package/src/acp/README.md +164 -0
- package/src/acp/agent.ts +1086 -0
- package/src/acp/session.ts +101 -0
- package/src/acp/types.ts +22 -0
- package/src/agent/agent.ts +253 -0
- package/src/agent/generate.txt +75 -0
- package/src/agent/prompt/compaction.txt +12 -0
- package/src/agent/prompt/explore.txt +18 -0
- package/src/agent/prompt/summary.txt +11 -0
- package/src/agent/prompt/title.txt +36 -0
- package/src/auth/index.ts +70 -0
- package/src/bun/index.ts +130 -0
- package/src/bus/bus-event.ts +43 -0
- package/src/bus/global.ts +10 -0
- package/src/bus/index.ts +105 -0
- package/src/cli/bootstrap.ts +17 -0
- package/src/cli/cmd/acp.ts +69 -0
- package/src/cli/cmd/agent.ts +257 -0
- package/src/cli/cmd/auth.ts +132 -0
- package/src/cli/cmd/cmd.ts +7 -0
- package/src/cli/cmd/debug/agent.ts +28 -0
- package/src/cli/cmd/debug/config.ts +15 -0
- package/src/cli/cmd/debug/file.ts +91 -0
- package/src/cli/cmd/debug/index.ts +45 -0
- package/src/cli/cmd/debug/lsp.ts +48 -0
- package/src/cli/cmd/debug/ripgrep.ts +83 -0
- package/src/cli/cmd/debug/scrap.ts +15 -0
- package/src/cli/cmd/debug/skill.ts +15 -0
- package/src/cli/cmd/debug/snapshot.ts +48 -0
- package/src/cli/cmd/export.ts +88 -0
- package/src/cli/cmd/generate.ts +38 -0
- package/src/cli/cmd/github.ts +32 -0
- package/src/cli/cmd/import.ts +98 -0
- package/src/cli/cmd/mcp.ts +670 -0
- package/src/cli/cmd/models.ts +42 -0
- package/src/cli/cmd/pr.ts +112 -0
- package/src/cli/cmd/run.ts +374 -0
- package/src/cli/cmd/serve.ts +16 -0
- package/src/cli/cmd/session.ts +135 -0
- package/src/cli/cmd/stats.ts +402 -0
- package/src/cli/cmd/tui/app.tsx +705 -0
- package/src/cli/cmd/tui/attach.ts +32 -0
- package/src/cli/cmd/tui/component/border.tsx +21 -0
- package/src/cli/cmd/tui/component/dialog-agent.tsx +31 -0
- package/src/cli/cmd/tui/component/dialog-command.tsx +124 -0
- package/src/cli/cmd/tui/component/dialog-mcp.tsx +86 -0
- package/src/cli/cmd/tui/component/dialog-model.tsx +232 -0
- package/src/cli/cmd/tui/component/dialog-provider.tsx +228 -0
- package/src/cli/cmd/tui/component/dialog-session-list.tsx +115 -0
- package/src/cli/cmd/tui/component/dialog-session-rename.tsx +31 -0
- package/src/cli/cmd/tui/component/dialog-stash.tsx +86 -0
- package/src/cli/cmd/tui/component/dialog-status.tsx +162 -0
- package/src/cli/cmd/tui/component/dialog-tag.tsx +44 -0
- package/src/cli/cmd/tui/component/dialog-theme-list.tsx +50 -0
- package/src/cli/cmd/tui/component/did-you-know.tsx +85 -0
- package/src/cli/cmd/tui/component/logo.tsx +43 -0
- package/src/cli/cmd/tui/component/prompt/autocomplete.tsx +654 -0
- package/src/cli/cmd/tui/component/prompt/history.tsx +108 -0
- package/src/cli/cmd/tui/component/prompt/index.tsx +1078 -0
- package/src/cli/cmd/tui/component/prompt/stash.tsx +101 -0
- package/src/cli/cmd/tui/component/textarea-keybindings.ts +73 -0
- package/src/cli/cmd/tui/component/tips.ts +92 -0
- package/src/cli/cmd/tui/component/todo-item.tsx +32 -0
- package/src/cli/cmd/tui/context/args.tsx +14 -0
- package/src/cli/cmd/tui/context/directory.ts +13 -0
- package/src/cli/cmd/tui/context/exit.tsx +23 -0
- package/src/cli/cmd/tui/context/helper.tsx +25 -0
- package/src/cli/cmd/tui/context/keybind.tsx +101 -0
- package/src/cli/cmd/tui/context/kv.tsx +49 -0
- package/src/cli/cmd/tui/context/local.tsx +392 -0
- package/src/cli/cmd/tui/context/prompt.tsx +18 -0
- package/src/cli/cmd/tui/context/route.tsx +46 -0
- package/src/cli/cmd/tui/context/sdk.tsx +75 -0
- package/src/cli/cmd/tui/context/sync.tsx +384 -0
- package/src/cli/cmd/tui/context/theme/aura.json +69 -0
- package/src/cli/cmd/tui/context/theme/ayu.json +80 -0
- package/src/cli/cmd/tui/context/theme/catppuccin-frappe.json +233 -0
- package/src/cli/cmd/tui/context/theme/catppuccin-macchiato.json +233 -0
- package/src/cli/cmd/tui/context/theme/catppuccin.json +112 -0
- package/src/cli/cmd/tui/context/theme/chad.json +245 -0
- package/src/cli/cmd/tui/context/theme/cobalt2.json +228 -0
- package/src/cli/cmd/tui/context/theme/cursor.json +249 -0
- package/src/cli/cmd/tui/context/theme/dracula.json +219 -0
- package/src/cli/cmd/tui/context/theme/everforest.json +241 -0
- package/src/cli/cmd/tui/context/theme/flexoki.json +237 -0
- package/src/cli/cmd/tui/context/theme/github.json +233 -0
- package/src/cli/cmd/tui/context/theme/gruvbox.json +95 -0
- package/src/cli/cmd/tui/context/theme/kanagawa.json +77 -0
- package/src/cli/cmd/tui/context/theme/lucent-orng.json +227 -0
- package/src/cli/cmd/tui/context/theme/material.json +235 -0
- package/src/cli/cmd/tui/context/theme/matrix.json +77 -0
- package/src/cli/cmd/tui/context/theme/mercury.json +252 -0
- package/src/cli/cmd/tui/context/theme/monokai.json +221 -0
- package/src/cli/cmd/tui/context/theme/nightowl.json +221 -0
- package/src/cli/cmd/tui/context/theme/nord.json +223 -0
- package/src/cli/cmd/tui/context/theme/one-dark.json +84 -0
- package/src/cli/cmd/tui/context/theme/orng.json +245 -0
- package/src/cli/cmd/tui/context/theme/osaka-jade.json +93 -0
- package/src/cli/cmd/tui/context/theme/palenight.json +222 -0
- package/src/cli/cmd/tui/context/theme/rosepine.json +234 -0
- package/src/cli/cmd/tui/context/theme/solarized.json +223 -0
- package/src/cli/cmd/tui/context/theme/synthwave84.json +226 -0
- package/src/cli/cmd/tui/context/theme/tokyonight.json +243 -0
- package/src/cli/cmd/tui/context/theme/vercel.json +245 -0
- package/src/cli/cmd/tui/context/theme/vesper.json +218 -0
- package/src/cli/cmd/tui/context/theme/zenburn.json +223 -0
- package/src/cli/cmd/tui/context/theme.tsx +1137 -0
- package/src/cli/cmd/tui/event.ts +46 -0
- package/src/cli/cmd/tui/routes/home.tsx +138 -0
- package/src/cli/cmd/tui/routes/session/dialog-fork-from-timeline.tsx +64 -0
- package/src/cli/cmd/tui/routes/session/dialog-message.tsx +109 -0
- package/src/cli/cmd/tui/routes/session/dialog-subagent.tsx +26 -0
- package/src/cli/cmd/tui/routes/session/dialog-timeline.tsx +47 -0
- package/src/cli/cmd/tui/routes/session/footer.tsx +88 -0
- package/src/cli/cmd/tui/routes/session/header.tsx +125 -0
- package/src/cli/cmd/tui/routes/session/index.tsx +1814 -0
- package/src/cli/cmd/tui/routes/session/permission.tsx +416 -0
- package/src/cli/cmd/tui/routes/session/sidebar.tsx +318 -0
- package/src/cli/cmd/tui/spawn.ts +48 -0
- package/src/cli/cmd/tui/thread.ts +111 -0
- package/src/cli/cmd/tui/ui/dialog-alert.tsx +57 -0
- package/src/cli/cmd/tui/ui/dialog-confirm.tsx +83 -0
- package/src/cli/cmd/tui/ui/dialog-export-options.tsx +204 -0
- package/src/cli/cmd/tui/ui/dialog-help.tsx +38 -0
- package/src/cli/cmd/tui/ui/dialog-prompt.tsx +77 -0
- package/src/cli/cmd/tui/ui/dialog-select.tsx +345 -0
- package/src/cli/cmd/tui/ui/dialog.tsx +171 -0
- package/src/cli/cmd/tui/ui/link.tsx +28 -0
- package/src/cli/cmd/tui/ui/spinner.ts +368 -0
- package/src/cli/cmd/tui/ui/toast.tsx +100 -0
- package/src/cli/cmd/tui/util/clipboard.ts +127 -0
- package/src/cli/cmd/tui/util/editor.ts +32 -0
- package/src/cli/cmd/tui/util/signal.ts +7 -0
- package/src/cli/cmd/tui/util/terminal.ts +114 -0
- package/src/cli/cmd/tui/util/transcript.ts +98 -0
- package/src/cli/cmd/tui/worker.ts +68 -0
- package/src/cli/cmd/uninstall.ts +344 -0
- package/src/cli/cmd/upgrade.ts +67 -0
- package/src/cli/cmd/web.ts +73 -0
- package/src/cli/error.ts +56 -0
- package/src/cli/network.ts +53 -0
- package/src/cli/ui.ts +87 -0
- package/src/cli/upgrade.ts +25 -0
- package/src/command/index.ts +131 -0
- package/src/command/template/initialize.txt +10 -0
- package/src/command/template/review.txt +97 -0
- package/src/config/config.ts +1124 -0
- package/src/config/markdown.ts +41 -0
- package/src/env/index.ts +26 -0
- package/src/file/ignore.ts +83 -0
- package/src/file/index.ts +411 -0
- package/src/file/ripgrep.ts +402 -0
- package/src/file/time.ts +64 -0
- package/src/file/watcher.ts +117 -0
- package/src/flag/flag.ts +52 -0
- package/src/format/formatter.ts +359 -0
- package/src/format/index.ts +137 -0
- package/src/global/index.ts +55 -0
- package/src/id/id.ts +73 -0
- package/src/ide/index.ts +77 -0
- package/src/index.ts +159 -0
- package/src/installation/index.ts +198 -0
- package/src/lsp/client.ts +252 -0
- package/src/lsp/index.ts +485 -0
- package/src/lsp/language.ts +119 -0
- package/src/lsp/server.ts +2023 -0
- package/src/mcp/auth.ts +135 -0
- package/src/mcp/index.ts +874 -0
- package/src/mcp/oauth-callback.ts +200 -0
- package/src/mcp/oauth-provider.ts +154 -0
- package/src/patch/index.ts +622 -0
- package/src/permission/arity.ts +163 -0
- package/src/permission/index.ts +210 -0
- package/src/permission/next.ts +268 -0
- package/src/plugin/index.ts +106 -0
- package/src/project/bootstrap.ts +31 -0
- package/src/project/instance.ts +78 -0
- package/src/project/project.ts +263 -0
- package/src/project/state.ts +65 -0
- package/src/project/vcs.ts +76 -0
- package/src/provider/auth.ts +143 -0
- package/src/provider/models-macro.ts +4 -0
- package/src/provider/models.ts +77 -0
- package/src/provider/provider.ts +516 -0
- package/src/provider/transform.ts +114 -0
- package/src/pty/index.ts +212 -0
- package/src/server/error.ts +36 -0
- package/src/server/mdns.ts +57 -0
- package/src/server/project.ts +79 -0
- package/src/server/server.ts +2866 -0
- package/src/server/tui.ts +71 -0
- package/src/session/compaction.ts +225 -0
- package/src/session/index.ts +469 -0
- package/src/session/llm.ts +213 -0
- package/src/session/message-v2.ts +742 -0
- package/src/session/message.ts +189 -0
- package/src/session/processor.ts +402 -0
- package/src/session/prompt/anthropic-20250930.txt +166 -0
- package/src/session/prompt/anthropic.txt +105 -0
- package/src/session/prompt/anthropic_spoof.txt +1 -0
- package/src/session/prompt/beast.txt +147 -0
- package/src/session/prompt/build-switch.txt +5 -0
- package/src/session/prompt/codex.txt +318 -0
- package/src/session/prompt/copilot-gpt-5.txt +143 -0
- package/src/session/prompt/gemini.txt +155 -0
- package/src/session/prompt/max-steps.txt +16 -0
- package/src/session/prompt/plan-reminder-anthropic.txt +67 -0
- package/src/session/prompt/plan.txt +26 -0
- package/src/session/prompt/qwen.txt +109 -0
- package/src/session/prompt.ts +1621 -0
- package/src/session/retry.ts +90 -0
- package/src/session/revert.ts +108 -0
- package/src/session/status.ts +76 -0
- package/src/session/summary.ts +194 -0
- package/src/session/system.ts +108 -0
- package/src/session/todo.ts +37 -0
- package/src/share/share-next.ts +194 -0
- package/src/share/share.ts +23 -0
- package/src/shell/shell.ts +67 -0
- package/src/skill/index.ts +1 -0
- package/src/skill/skill.ts +124 -0
- package/src/snapshot/index.ts +197 -0
- package/src/storage/storage.ts +226 -0
- package/src/tool/bash.ts +262 -0
- package/src/tool/bash.txt +116 -0
- package/src/tool/batch.ts +175 -0
- package/src/tool/batch.txt +24 -0
- package/src/tool/codesearch.ts +132 -0
- package/src/tool/codesearch.txt +12 -0
- package/src/tool/edit.ts +655 -0
- package/src/tool/edit.txt +10 -0
- package/src/tool/glob.ts +75 -0
- package/src/tool/glob.txt +6 -0
- package/src/tool/grep.ts +132 -0
- package/src/tool/grep.txt +8 -0
- package/src/tool/invalid.ts +17 -0
- package/src/tool/ls.ts +119 -0
- package/src/tool/ls.txt +1 -0
- package/src/tool/lsp.ts +94 -0
- package/src/tool/lsp.txt +19 -0
- package/src/tool/multiedit.ts +46 -0
- package/src/tool/multiedit.txt +41 -0
- package/src/tool/patch.ts +210 -0
- package/src/tool/patch.txt +1 -0
- package/src/tool/read.ts +191 -0
- package/src/tool/read.txt +12 -0
- package/src/tool/registry.ts +137 -0
- package/src/tool/skill.ts +77 -0
- package/src/tool/task.ts +167 -0
- package/src/tool/task.txt +60 -0
- package/src/tool/todo.ts +53 -0
- package/src/tool/todoread.txt +14 -0
- package/src/tool/todowrite.txt +167 -0
- package/src/tool/tool.ts +73 -0
- package/src/tool/webfetch.ts +182 -0
- package/src/tool/webfetch.txt +13 -0
- package/src/tool/websearch.ts +144 -0
- package/src/tool/websearch.txt +11 -0
- package/src/tool/write.ts +84 -0
- package/src/tool/write.txt +8 -0
- package/src/util/archive.ts +16 -0
- package/src/util/color.ts +19 -0
- package/src/util/context.ts +25 -0
- package/src/util/defer.ts +12 -0
- package/src/util/eventloop.ts +20 -0
- package/src/util/filesystem.ts +83 -0
- package/src/util/fn.ts +11 -0
- package/src/util/iife.ts +3 -0
- package/src/util/keybind.ts +102 -0
- package/src/util/lazy.ts +18 -0
- package/src/util/locale.ts +81 -0
- package/src/util/lock.ts +98 -0
- package/src/util/log.ts +180 -0
- package/src/util/queue.ts +32 -0
- package/src/util/rpc.ts +42 -0
- package/src/util/scrap.ts +10 -0
- package/src/util/signal.ts +12 -0
- package/src/util/timeout.ts +14 -0
- package/src/util/token.ts +7 -0
- package/src/util/wildcard.ts +54 -0
- package/src/worktree/index.ts +217 -0
- package/sst-env.d.ts +9 -0
- package/test/agent/agent.test.ts +448 -0
- package/test/bun.test.ts +53 -0
- package/test/cli/github-action.test.ts +129 -0
- package/test/cli/github-remote.test.ts +80 -0
- package/test/cli/tui/transcript.test.ts +297 -0
- package/test/config/agent-color.test.ts +66 -0
- package/test/config/config.test.ts +870 -0
- package/test/config/markdown.test.ts +89 -0
- package/test/file/ignore.test.ts +10 -0
- package/test/file/path-traversal.test.ts +115 -0
- package/test/fixture/fixture.ts +45 -0
- package/test/fixture/lsp/fake-lsp-server.js +77 -0
- package/test/ide/ide.test.ts +82 -0
- package/test/keybind.test.ts +421 -0
- package/test/lsp/client.test.ts +95 -0
- package/test/mcp/headers.test.ts +153 -0
- package/test/patch/patch.test.ts +348 -0
- package/test/permission/arity.test.ts +33 -0
- package/test/permission/next.test.ts +652 -0
- package/test/preload.ts +63 -0
- package/test/project/project.test.ts +120 -0
- package/test/provider/amazon-bedrock.test.ts +236 -0
- package/test/provider/provider.test.ts +2127 -0
- package/test/provider/transform.test.ts +980 -0
- package/test/server/session-select.test.ts +78 -0
- package/test/session/compaction.test.ts +251 -0
- package/test/session/message-v2.test.ts +570 -0
- package/test/session/retry.test.ts +131 -0
- package/test/session/revert-compact.test.ts +285 -0
- package/test/session/session.test.ts +71 -0
- package/test/skill/skill.test.ts +185 -0
- package/test/snapshot/snapshot.test.ts +939 -0
- package/test/tool/__snapshots__/tool.test.ts.snap +9 -0
- package/test/tool/bash.test.ts +232 -0
- package/test/tool/grep.test.ts +109 -0
- package/test/tool/patch.test.ts +261 -0
- package/test/tool/read.test.ts +167 -0
- package/test/util/iife.test.ts +36 -0
- package/test/util/lazy.test.ts +50 -0
- package/test/util/timeout.test.ts +21 -0
- package/test/util/wildcard.test.ts +55 -0
- package/tsconfig.json +16 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# opencode agent guidelines
|
|
2
|
+
|
|
3
|
+
## Build/Test Commands
|
|
4
|
+
|
|
5
|
+
- **Install**: `bun install`
|
|
6
|
+
- **Run**: `bun run --conditions=browser ./src/index.ts`
|
|
7
|
+
- **Typecheck**: `bun run typecheck` (npm run typecheck)
|
|
8
|
+
- **Test**: `bun test` (runs all tests)
|
|
9
|
+
- **Single test**: `bun test test/tool/tool.test.ts` (specific test file)
|
|
10
|
+
|
|
11
|
+
## Code Style
|
|
12
|
+
|
|
13
|
+
- **Runtime**: Bun with TypeScript ESM modules
|
|
14
|
+
- **Imports**: Use relative imports for local modules, named imports preferred
|
|
15
|
+
- **Types**: Zod schemas for validation, TypeScript interfaces for structure
|
|
16
|
+
- **Naming**: camelCase for variables/functions, PascalCase for classes/namespaces
|
|
17
|
+
- **Error handling**: Use Result patterns, avoid throwing exceptions in tools
|
|
18
|
+
- **File structure**: Namespace-based organization (e.g., `Tool.define()`, `Session.create()`)
|
|
19
|
+
|
|
20
|
+
## Architecture
|
|
21
|
+
|
|
22
|
+
- **Tools**: Implement `Tool.Info` interface with `execute()` method
|
|
23
|
+
- **Context**: Pass `sessionID` in tool context, use `App.provide()` for DI
|
|
24
|
+
- **Validation**: All inputs validated with Zod schemas
|
|
25
|
+
- **Logging**: Use `Log.create({ service: "name" })` pattern
|
|
26
|
+
- **Storage**: Use `Storage` namespace for persistence
|
|
27
|
+
- **API Client**: The TypeScript TUI (built with SolidJS + OpenTUI) communicates with the OpenCode server using `@opencode-ai/sdk`. When adding/modifying server endpoints in `packages/opencode/src/server/server.ts`, run `./script/generate.ts` to regenerate the SDK and related files.
|
package/Dockerfile
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
FROM alpine AS base
|
|
2
|
+
|
|
3
|
+
# Disable the runtime transpiler cache by default inside Docker containers.
|
|
4
|
+
# On ephemeral containers, the cache is not useful
|
|
5
|
+
ARG BUN_RUNTIME_TRANSPILER_CACHE_PATH=0
|
|
6
|
+
ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=${BUN_RUNTIME_TRANSPILER_CACHE_PATH}
|
|
7
|
+
RUN apk add libgcc libstdc++ ripgrep
|
|
8
|
+
|
|
9
|
+
FROM base AS build-amd64
|
|
10
|
+
COPY dist/opencode-linux-x64-baseline-musl/bin/opencode /usr/local/bin/opencode
|
|
11
|
+
|
|
12
|
+
FROM base AS build-arm64
|
|
13
|
+
COPY dist/opencode-linux-arm64-musl/bin/opencode /usr/local/bin/opencode
|
|
14
|
+
|
|
15
|
+
ARG TARGETARCH
|
|
16
|
+
FROM build-${TARGETARCH}
|
|
17
|
+
RUN opencode --version
|
|
18
|
+
ENTRYPOINT ["opencode"]
|
package/README.md
ADDED
package/README.npm.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Chad Code
|
|
2
|
+
|
|
3
|
+
AI-powered coding assistant for your terminal.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g chad-code
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or run directly with npx:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx chad-code
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
1. Install globally: `npm install -g chad-code`
|
|
20
|
+
2. Run in any project directory: `chad-code`
|
|
21
|
+
3. Enter your Chad API key when prompted
|
|
22
|
+
4. Start coding with AI assistance!
|
|
23
|
+
|
|
24
|
+
## Features
|
|
25
|
+
|
|
26
|
+
- **AI-Powered Coding**: Get intelligent code suggestions, explanations, and refactoring help
|
|
27
|
+
- **Multi-File Operations**: Create, edit, and manage multiple files in a single session
|
|
28
|
+
- **Terminal Native**: Works directly in your terminal with a beautiful TUI
|
|
29
|
+
- **Tool Execution**: Run commands, tests, and scripts with AI guidance
|
|
30
|
+
- **Context Aware**: Understands your project structure and codebase
|
|
31
|
+
|
|
32
|
+
## Requirements
|
|
33
|
+
|
|
34
|
+
- Node.js 18+ or Bun
|
|
35
|
+
- A Chad API key (get one at [corethink.ai](https://corethink.ai))
|
|
36
|
+
|
|
37
|
+
## Usage
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Start in current directory
|
|
41
|
+
chad-code
|
|
42
|
+
|
|
43
|
+
# Start in a specific directory
|
|
44
|
+
chad-code /path/to/project
|
|
45
|
+
|
|
46
|
+
# Show version
|
|
47
|
+
chad-code --version
|
|
48
|
+
|
|
49
|
+
# Show help
|
|
50
|
+
chad-code --help
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Documentation
|
|
54
|
+
|
|
55
|
+
Visit [corethink.ai/docs](https://corethink.ai/docs) for full documentation.
|
|
56
|
+
|
|
57
|
+
## Support
|
|
58
|
+
|
|
59
|
+
- Report issues: [GitHub Issues](https://github.com/corethink-ai/chad-code/issues)
|
|
60
|
+
- Website: [corethink.ai](https://corethink.ai)
|
|
61
|
+
|
|
62
|
+
## License
|
|
63
|
+
|
|
64
|
+
MIT
|
package/bin/chad-code
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const childProcess = require("child_process")
|
|
4
|
+
const fs = require("fs")
|
|
5
|
+
const path = require("path")
|
|
6
|
+
const os = require("os")
|
|
7
|
+
|
|
8
|
+
function run(target) {
|
|
9
|
+
const result = childProcess.spawnSync(target, process.argv.slice(2), {
|
|
10
|
+
stdio: "inherit",
|
|
11
|
+
})
|
|
12
|
+
if (result.error) {
|
|
13
|
+
console.error(result.error.message)
|
|
14
|
+
process.exit(1)
|
|
15
|
+
}
|
|
16
|
+
const code = typeof result.status === "number" ? result.status : 0
|
|
17
|
+
process.exit(code)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const envPath = process.env.CHAD_BIN_PATH
|
|
21
|
+
if (envPath) {
|
|
22
|
+
run(envPath)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const scriptPath = fs.realpathSync(__filename)
|
|
26
|
+
const scriptDir = path.dirname(scriptPath)
|
|
27
|
+
|
|
28
|
+
const platformMap = {
|
|
29
|
+
darwin: "darwin",
|
|
30
|
+
linux: "linux",
|
|
31
|
+
win32: "windows",
|
|
32
|
+
}
|
|
33
|
+
const archMap = {
|
|
34
|
+
x64: "x64",
|
|
35
|
+
arm64: "arm64",
|
|
36
|
+
arm: "arm",
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
let platform = platformMap[os.platform()]
|
|
40
|
+
if (!platform) {
|
|
41
|
+
platform = os.platform()
|
|
42
|
+
}
|
|
43
|
+
let arch = archMap[os.arch()]
|
|
44
|
+
if (!arch) {
|
|
45
|
+
arch = os.arch()
|
|
46
|
+
}
|
|
47
|
+
const base = "chad-code-" + platform + "-" + arch
|
|
48
|
+
const binary = platform === "windows" ? "chad-code.exe" : "chad-code"
|
|
49
|
+
|
|
50
|
+
function findBinary(startDir) {
|
|
51
|
+
let current = startDir
|
|
52
|
+
for (;;) {
|
|
53
|
+
const modules = path.join(current, "node_modules")
|
|
54
|
+
if (fs.existsSync(modules)) {
|
|
55
|
+
const entries = fs.readdirSync(modules)
|
|
56
|
+
for (const entry of entries) {
|
|
57
|
+
if (!entry.startsWith(base)) {
|
|
58
|
+
continue
|
|
59
|
+
}
|
|
60
|
+
const candidate = path.join(modules, entry, "bin", binary)
|
|
61
|
+
if (fs.existsSync(candidate)) {
|
|
62
|
+
return candidate
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const parent = path.dirname(current)
|
|
67
|
+
if (parent === current) {
|
|
68
|
+
return
|
|
69
|
+
}
|
|
70
|
+
current = parent
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const resolved = findBinary(scriptDir)
|
|
75
|
+
if (!resolved) {
|
|
76
|
+
console.error(
|
|
77
|
+
'It seems that your package manager failed to install the right version of the chad-code CLI for your platform. You can try manually installing the "' +
|
|
78
|
+
base +
|
|
79
|
+
'" package',
|
|
80
|
+
)
|
|
81
|
+
process.exit(1)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
run(resolved)
|
package/bunfig.toml
ADDED
package/eslint.config.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import js from "@eslint/js"
|
|
2
|
+
import typescript from "@typescript-eslint/eslint-plugin"
|
|
3
|
+
import typescriptParser from "@typescript-eslint/parser"
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
js.configs.recommended,
|
|
7
|
+
{
|
|
8
|
+
files: ["**/*.ts", "**/*.tsx"],
|
|
9
|
+
languageOptions: {
|
|
10
|
+
parser: typescriptParser,
|
|
11
|
+
parserOptions: {
|
|
12
|
+
ecmaVersion: "latest",
|
|
13
|
+
sourceType: "module",
|
|
14
|
+
project: "./tsconfig.json",
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
plugins: {
|
|
18
|
+
"@typescript-eslint": typescript,
|
|
19
|
+
},
|
|
20
|
+
rules: {
|
|
21
|
+
"@typescript-eslint/no-unused-vars": "error",
|
|
22
|
+
"@typescript-eslint/no-unused-imports": "error",
|
|
23
|
+
"no-unused-vars": "off", // Turn off base rule as we use TypeScript version
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
ignores: ["dist/", "node_modules/", "*.js"],
|
|
28
|
+
},
|
|
29
|
+
]
|
package/package.json
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/package.json",
|
|
3
|
+
"version": "1.3.1",
|
|
4
|
+
"name": "chad-code",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"typecheck": "tsgo --noEmit",
|
|
9
|
+
"test": "bun test",
|
|
10
|
+
"build": "bun run script/build.ts",
|
|
11
|
+
"dev": "bun run --conditions=browser ./src/index.ts",
|
|
12
|
+
"random": "echo 'Random script updated at $(date)' && echo 'Change queued successfully' && echo 'Another change made' && echo 'Yet another change' && echo 'One more change' && echo 'Final change' && echo 'Another final change' && echo 'Yet another final change'",
|
|
13
|
+
"clean": "echo 'Cleaning up...' && rm -rf node_modules dist",
|
|
14
|
+
"lint": "echo 'Running lint checks...' && bun test --coverage",
|
|
15
|
+
"format": "echo 'Formatting code...' && bun run --prettier --write src/**/*.ts",
|
|
16
|
+
"docs": "echo 'Generating documentation...' && find src -name '*.ts' -exec echo 'Processing: {}' \\;",
|
|
17
|
+
"deploy": "echo 'Deploying application...' && bun run build && echo 'Deployment completed successfully'"
|
|
18
|
+
},
|
|
19
|
+
"bin": {
|
|
20
|
+
"chad-code": "./bin/chad-code"
|
|
21
|
+
},
|
|
22
|
+
"exports": {
|
|
23
|
+
"./*": "./src/*.ts"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@babel/core": "7.28.4",
|
|
27
|
+
"@octokit/webhooks-types": "7.6.1",
|
|
28
|
+
"@opencode-ai/script": "workspace:*",
|
|
29
|
+
"@parcel/watcher-darwin-arm64": "2.5.1",
|
|
30
|
+
"@parcel/watcher-darwin-x64": "2.5.1",
|
|
31
|
+
"@parcel/watcher-linux-arm64-glibc": "2.5.1",
|
|
32
|
+
"@parcel/watcher-linux-arm64-musl": "2.5.1",
|
|
33
|
+
"@parcel/watcher-linux-x64-glibc": "2.5.1",
|
|
34
|
+
"@parcel/watcher-linux-x64-musl": "2.5.1",
|
|
35
|
+
"@parcel/watcher-win32-x64": "2.5.1",
|
|
36
|
+
"@standard-schema/spec": "1.0.0",
|
|
37
|
+
"@tsconfig/bun": "catalog:",
|
|
38
|
+
"@types/babel__core": "7.20.5",
|
|
39
|
+
"@types/bun": "catalog:",
|
|
40
|
+
"@types/turndown": "5.0.5",
|
|
41
|
+
"@types/yargs": "17.0.33",
|
|
42
|
+
"@typescript-eslint/eslint-plugin": "8.52.0",
|
|
43
|
+
"@typescript-eslint/parser": "8.52.0",
|
|
44
|
+
"@typescript/native-preview": "catalog:",
|
|
45
|
+
"eslint": "9.39.2",
|
|
46
|
+
"typescript": "catalog:",
|
|
47
|
+
"vscode-languageserver-types": "3.17.5",
|
|
48
|
+
"why-is-node-running": "3.2.2",
|
|
49
|
+
"zod-to-json-schema": "3.24.5"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@actions/core": "1.11.1",
|
|
53
|
+
"@actions/github": "6.0.1",
|
|
54
|
+
"@agentclientprotocol/sdk": "0.5.1",
|
|
55
|
+
"@ai-sdk/openai-compatible": "1.0.29",
|
|
56
|
+
"@ai-sdk/provider": "2.0.0",
|
|
57
|
+
"@ai-sdk/provider-utils": "3.0.19",
|
|
58
|
+
"@clack/prompts": "1.0.0-alpha.1",
|
|
59
|
+
"@hono/standard-validator": "0.1.5",
|
|
60
|
+
"@hono/zod-validator": "catalog:",
|
|
61
|
+
"@modelcontextprotocol/sdk": "1.15.1",
|
|
62
|
+
"@octokit/graphql": "9.0.2",
|
|
63
|
+
"@octokit/rest": "catalog:",
|
|
64
|
+
"@openauthjs/openauth": "catalog:",
|
|
65
|
+
"@opencode-ai/plugin": "workspace:*",
|
|
66
|
+
"@opencode-ai/script": "workspace:*",
|
|
67
|
+
"@opencode-ai/sdk": "workspace:*",
|
|
68
|
+
"@opencode-ai/util": "workspace:*",
|
|
69
|
+
"@opentui/core": "0.1.68",
|
|
70
|
+
"@opentui/solid": "0.1.68",
|
|
71
|
+
"@parcel/watcher": "2.5.1",
|
|
72
|
+
"@pierre/diffs": "catalog:",
|
|
73
|
+
"@solid-primitives/event-bus": "1.1.2",
|
|
74
|
+
"@solid-primitives/scheduled": "1.5.2",
|
|
75
|
+
"@standard-schema/spec": "1.0.0",
|
|
76
|
+
"@zip.js/zip.js": "2.7.62",
|
|
77
|
+
"ai": "catalog:",
|
|
78
|
+
"bonjour-service": "1.3.0",
|
|
79
|
+
"bun-pty": "0.4.4",
|
|
80
|
+
"chokidar": "4.0.3",
|
|
81
|
+
"clipboardy": "4.0.0",
|
|
82
|
+
"decimal.js": "10.5.0",
|
|
83
|
+
"diff": "catalog:",
|
|
84
|
+
"fuzzysort": "3.1.0",
|
|
85
|
+
"gray-matter": "4.0.3",
|
|
86
|
+
"hono": "catalog:",
|
|
87
|
+
"hono-openapi": "catalog:",
|
|
88
|
+
"ignore": "7.0.5",
|
|
89
|
+
"jsonc-parser": "3.3.1",
|
|
90
|
+
"minimatch": "10.0.3",
|
|
91
|
+
"open": "10.1.2",
|
|
92
|
+
"opentui-spinner": "0.0.6",
|
|
93
|
+
"partial-json": "0.1.7",
|
|
94
|
+
"remeda": "catalog:",
|
|
95
|
+
"solid-js": "catalog:",
|
|
96
|
+
"strip-ansi": "7.1.2",
|
|
97
|
+
"tree-sitter-bash": "0.25.0",
|
|
98
|
+
"turndown": "7.2.0",
|
|
99
|
+
"ulid": "catalog:",
|
|
100
|
+
"vscode-jsonrpc": "8.2.1",
|
|
101
|
+
"web-tree-sitter": "0.25.10",
|
|
102
|
+
"xdg-basedir": "5.1.0",
|
|
103
|
+
"yargs": "18.0.0",
|
|
104
|
+
"zod": "catalog:",
|
|
105
|
+
"zod-to-json-schema": "3.24.5"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
// NOTE: FOR markdown, javascript and typescript, we use the opentui built-in parsers
|
|
3
|
+
// Warn: when taking queries from the nvim-treesitter repo, make sure to include the query dependencies as well
|
|
4
|
+
// marked with for example `; inherits: ecma` at the top of the file. Just put the dependencies before the actual query.
|
|
5
|
+
// ALSO: Some queries use breaking changes in the nvim-treesitter repo, that are not compatible with the (web-)tree-sitter parser.
|
|
6
|
+
parsers: [
|
|
7
|
+
{
|
|
8
|
+
filetype: "python",
|
|
9
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-python/releases/download/v0.23.6/tree-sitter-python.wasm",
|
|
10
|
+
queries: {
|
|
11
|
+
highlights: [
|
|
12
|
+
// NOTE: This nvim-treesitter query is currently broken, because the parser is not compatible with the query apparently.
|
|
13
|
+
// it is using "except" nodes that the parser is complaining about, but it has been in the query for 3+ years.
|
|
14
|
+
// Unclear.
|
|
15
|
+
// "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/python/highlights.scm",
|
|
16
|
+
"https://github.com/tree-sitter/tree-sitter-python/raw/refs/heads/master/queries/highlights.scm",
|
|
17
|
+
],
|
|
18
|
+
locals: [
|
|
19
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/python/locals.scm",
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
filetype: "rust",
|
|
25
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-rust/releases/download/v0.24.0/tree-sitter-rust.wasm",
|
|
26
|
+
queries: {
|
|
27
|
+
highlights: [
|
|
28
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/rust/highlights.scm",
|
|
29
|
+
],
|
|
30
|
+
locals: [
|
|
31
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/rust/locals.scm",
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
filetype: "go",
|
|
37
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-go/releases/download/v0.25.0/tree-sitter-go.wasm",
|
|
38
|
+
queries: {
|
|
39
|
+
highlights: [
|
|
40
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/go/highlights.scm",
|
|
41
|
+
],
|
|
42
|
+
locals: [
|
|
43
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/go/locals.scm",
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
filetype: "cpp",
|
|
49
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-cpp/releases/download/v0.23.4/tree-sitter-cpp.wasm",
|
|
50
|
+
queries: {
|
|
51
|
+
highlights: [
|
|
52
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/cpp/highlights.scm",
|
|
53
|
+
],
|
|
54
|
+
locals: [
|
|
55
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/cpp/locals.scm",
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
filetype: "csharp",
|
|
61
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-c-sharp/releases/download/v0.23.1/tree-sitter-c_sharp.wasm",
|
|
62
|
+
queries: {
|
|
63
|
+
highlights: [
|
|
64
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c_sharp/highlights.scm",
|
|
65
|
+
],
|
|
66
|
+
locals: [
|
|
67
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c_sharp/locals.scm",
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
filetype: "bash",
|
|
73
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-bash/releases/download/v0.25.0/tree-sitter-bash.wasm",
|
|
74
|
+
queries: {
|
|
75
|
+
highlights: [
|
|
76
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/bash/highlights.scm",
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
filetype: "c",
|
|
82
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-c/releases/download/v0.24.1/tree-sitter-c.wasm",
|
|
83
|
+
queries: {
|
|
84
|
+
highlights: [
|
|
85
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c/highlights.scm",
|
|
86
|
+
],
|
|
87
|
+
locals: [
|
|
88
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c/locals.scm",
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
filetype: "java",
|
|
94
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-java/releases/download/v0.23.5/tree-sitter-java.wasm",
|
|
95
|
+
queries: {
|
|
96
|
+
highlights: [
|
|
97
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/java/highlights.scm",
|
|
98
|
+
],
|
|
99
|
+
locals: [
|
|
100
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/java/locals.scm",
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
filetype: "ruby",
|
|
106
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-ruby/releases/download/v0.23.1/tree-sitter-ruby.wasm",
|
|
107
|
+
queries: {
|
|
108
|
+
highlights: [
|
|
109
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ruby/highlights.scm",
|
|
110
|
+
],
|
|
111
|
+
locals: [
|
|
112
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ruby/locals.scm",
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
filetype: "php",
|
|
118
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-php/releases/download/v0.24.2/tree-sitter-php.wasm",
|
|
119
|
+
queries: {
|
|
120
|
+
highlights: [
|
|
121
|
+
// NOTE: This nvim-treesitter query is currently broken, because the parser is not compatible with the query apparently.
|
|
122
|
+
// "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/php/highlights.scm",
|
|
123
|
+
"https://github.com/tree-sitter/tree-sitter-php/raw/refs/heads/master/queries/highlights.scm",
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
filetype: "scala",
|
|
129
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-scala/releases/download/v0.24.0/tree-sitter-scala.wasm",
|
|
130
|
+
queries: {
|
|
131
|
+
highlights: [
|
|
132
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/scala/highlights.scm",
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
filetype: "html",
|
|
138
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-html/releases/download/v0.23.2/tree-sitter-html.wasm",
|
|
139
|
+
queries: {
|
|
140
|
+
highlights: [
|
|
141
|
+
// NOTE: This nvim-treesitter query is currently broken, because the parser is not compatible with the query apparently.
|
|
142
|
+
// "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/html/highlights.scm",
|
|
143
|
+
"https://github.com/tree-sitter/tree-sitter-html/raw/refs/heads/master/queries/highlights.scm",
|
|
144
|
+
],
|
|
145
|
+
// TODO: Injections not working for some reason
|
|
146
|
+
// injections: [
|
|
147
|
+
// "https://github.com/tree-sitter/tree-sitter-html/raw/refs/heads/master/queries/injections.scm",
|
|
148
|
+
// ],
|
|
149
|
+
},
|
|
150
|
+
// injectionMapping: {
|
|
151
|
+
// nodeTypes: {
|
|
152
|
+
// script_element: "javascript",
|
|
153
|
+
// style_element: "css",
|
|
154
|
+
// },
|
|
155
|
+
// infoStringMap: {
|
|
156
|
+
// javascript: "javascript",
|
|
157
|
+
// css: "css",
|
|
158
|
+
// },
|
|
159
|
+
// },
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
filetype: "json",
|
|
163
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-json/releases/download/v0.24.8/tree-sitter-json.wasm",
|
|
164
|
+
queries: {
|
|
165
|
+
highlights: [
|
|
166
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/json/highlights.scm",
|
|
167
|
+
],
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
filetype: "yaml",
|
|
172
|
+
wasm: "https://github.com/tree-sitter-grammars/tree-sitter-yaml/releases/download/v0.7.2/tree-sitter-yaml.wasm",
|
|
173
|
+
queries: {
|
|
174
|
+
highlights: [
|
|
175
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/yaml/highlights.scm",
|
|
176
|
+
],
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
filetype: "haskell",
|
|
181
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-haskell/releases/download/v0.23.1/tree-sitter-haskell.wasm",
|
|
182
|
+
queries: {
|
|
183
|
+
highlights: [
|
|
184
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/haskell/highlights.scm",
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
filetype: "css",
|
|
190
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-css/releases/download/v0.25.0/tree-sitter-css.wasm",
|
|
191
|
+
queries: {
|
|
192
|
+
highlights: [
|
|
193
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/css/highlights.scm",
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
filetype: "julia",
|
|
199
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-julia/releases/download/v0.23.1/tree-sitter-julia.wasm",
|
|
200
|
+
queries: {
|
|
201
|
+
highlights: [
|
|
202
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/julia/highlights.scm",
|
|
203
|
+
],
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
filetype: "ocaml",
|
|
208
|
+
wasm: "https://github.com/tree-sitter/tree-sitter-ocaml/releases/download/v0.24.2/tree-sitter-ocaml.wasm",
|
|
209
|
+
queries: {
|
|
210
|
+
highlights: [
|
|
211
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ocaml/highlights.scm",
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
filetype: "clojure",
|
|
217
|
+
wasm: "https://github.com/sogaiu/tree-sitter-clojure/releases/download/v0.0.13/tree-sitter-clojure.wasm",
|
|
218
|
+
queries: {
|
|
219
|
+
highlights: [
|
|
220
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/clojure/highlights.scm",
|
|
221
|
+
],
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
filetype: "swift",
|
|
226
|
+
wasm: "https://github.com/alex-pinkus/tree-sitter-swift/releases/download/0.7.1/tree-sitter-swift.wasm",
|
|
227
|
+
queries: {
|
|
228
|
+
highlights: [
|
|
229
|
+
// NOTE: Using parser repo queries instead of nvim-treesitter due to incompatible #lua-match? predicates
|
|
230
|
+
// "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/highlights.scm
|
|
231
|
+
"https://raw.githubusercontent.com/alex-pinkus/tree-sitter-swift/main/queries/highlights.scm",
|
|
232
|
+
],
|
|
233
|
+
locals: [
|
|
234
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/swift/locals.scm",
|
|
235
|
+
],
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
filetype: "nix",
|
|
240
|
+
// TODO: Replace with official tree-sitter-nix WASM when published
|
|
241
|
+
// See: https://github.com/nix-community/tree-sitter-nix/issues/66
|
|
242
|
+
wasm: "https://github.com/ast-grep/ast-grep.github.io/raw/40b84530640aa83a0d34a20a2b0623d7b8e5ea97/website/public/parsers/tree-sitter-nix.wasm",
|
|
243
|
+
queries: {
|
|
244
|
+
highlights: [
|
|
245
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/nix/highlights.scm",
|
|
246
|
+
],
|
|
247
|
+
locals: [
|
|
248
|
+
"https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/nix/locals.scm",
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
},
|
|
252
|
+
],
|
|
253
|
+
}
|