char/avril
(wip) why'd you have to go and make things so complicaaaaated?
git clone https://git.t4t.associates/char/avril
f4a0f5b
main
Editor integration
Live language server
avril lsp --typescript=PATH [--project=DIR] provides unsaved source overlays,
diagnostics, basic hover, definition navigation, and conservative completion
through unmodified native TypeScript. It uses avril's real configuration,
per-referrer resolution,
package/declaration graph, cache, lock, vendor, and acquisition policy. Open
local documents are graph roots; unsaved import changes and filesystem/config
changes refresh the graph without generating snapshots. Editor refreshes never
write lockfiles, tsconfigs, or application sources.
The separate avril-lsp crate accepts immutable generations
from the runtime project service. The VS Code client
launches Rust directly. This remains
an early implementation: generations are rebuilt rather than incrementally
updated, and the crate documentation lists the remaining checking/discovery
limitations.
VS Code
Install the extension from editors/vscode, configure
avril.lsp.backend and avril.lsp.executable, and trust the workspace. The client
automatically starts when the first workspace folder is local and contains an
avril.conf directly at its root; nested configurations do not trigger startup.
Otherwise, use avril: Start Language Server. Keep VS Code's built-in TypeScript
extension enabled: avril suppresses its competing results for the active folder
while the server runs and restores them when it stops. Other workspace folders
retain their own language features. Set avril.lsp.autoStart to false to opt out.
No generated tsconfig, snapshot, project-local npm installation, or legacy manifest is required. Backend installation and the remaining feature limits are covered in the LSP documentation.
avril.conf highlighting
The standalone extension includes avril.conf highlighting for comments, quoted
strings, unquoted keys, and nested containers. Its source grammar lives in
editors/vscode/. This does not make avril.conf JSON or executable JS;
avril's custom parser remains authoritative.
1# Editor integration 2 3## Live language server 4 5`avril lsp --typescript=PATH [--project=DIR]` provides unsaved source overlays, 6diagnostics, basic hover, definition navigation, and conservative completion 7through unmodified native TypeScript. It uses avril's real configuration, 8per-referrer resolution, 9package/declaration graph, cache, lock, vendor, and acquisition policy. Open 10local documents are graph roots; unsaved import changes and filesystem/config 11changes refresh the graph without generating snapshots. Editor refreshes never 12write lockfiles, tsconfigs, or application sources. 13 14The separate [`avril-lsp` crate](../lib/lsp/README.md) accepts immutable generations 15from the runtime project service. The [VS Code client](../editors/vscode/README.md) 16launches Rust directly. This remains 17an early implementation: generations are rebuilt rather than incrementally 18updated, and the crate documentation lists the remaining checking/discovery 19limitations. 20 21## VS Code 22 23Install the extension from [`editors/vscode`](../editors/vscode/README.md), configure 24`avril.lsp.backend` and `avril.lsp.executable`, and trust the workspace. The client 25automatically starts when the first workspace folder is local and contains an 26`avril.conf` directly at its root; nested configurations do not trigger startup. 27Otherwise, use **avril: Start Language Server**. Keep VS Code's built-in TypeScript 28extension enabled: avril suppresses its competing results for the active folder 29while the server runs and restores them when it stops. Other workspace folders 30retain their own language features. Set `avril.lsp.autoStart` to `false` to opt out. 31 32No generated tsconfig, snapshot, project-local npm installation, or legacy 33manifest is required. Backend installation and the remaining feature limits are 34covered in the [LSP documentation](../lib/lsp/README.md). 35 36## `avril.conf` highlighting 37 38The standalone extension includes `avril.conf` highlighting for comments, quoted 39strings, unquoted keys, and nested containers. Its source grammar lives in 40`editors/vscode/`. This does not make `avril.conf` JSON or executable JS; 41avril's custom parser remains authoritative.