Editor support
avedon ships a language server and VS Code / Cursor extension for .ave files.
Install
Marketplace / Open VSX (when published)
Search for Avedon (avedonjs.avedon-vscode) in the VS Code Marketplace or Open VSX.
Publishing is driven by .github/workflows/publish-vscode.yml when the repo secrets VSCE_PAT and OVSX_PAT are set. Until those secrets exist, use a VSIX from CI (below).
CI VSIX / local package
Every green Build job uploads an avedon-vscode artifact. Or from the monorepo:
pnpm -F @avedon/compiler build
pnpm -F @avedon/language-server build
pnpm -F avedon-vscode package
cursor --install-extension packages/vscode-avedon/avedon-vscode-*.vsixDetails: packages/vscode-avedon/README.md.
Standalone language server
npx avedon-language-server
# or: npm i -D @avedon/language-serverFeatures
| Feature | Status |
|---|---|
Diagnostics (diagnoseAve) |
Shipped |
| Completion / hover / go-to-definition | Shipped |
| Script symbol index | Shipped |
| Find references + rename (in-file) | Shipped (v4) |
Cross-file refs/rename (export let props + component imports) |
Shipped (v5) |
Workspace symbols (export let + components) |
Shipped (v5) |
Embedded TypeScript LS in <script> / <script server> |
Shipped (v6) — diagnostics / hover / definition / completion |
| Source maps for emitted JS | Deferred (v6.1) |
Typing story
The Vite plugin generates *.ave.d.ts next to components. Keep export let props and load return shapes aligned with those types — see Configuration.
Inside <script> / <script server>, the language server also runs an embedded TypeScript language service (v6) so type errors, hover, go-to-definition, and completion apply to the script body itself.