You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No more re-assembling the Rust LSP every session. lsp_start now accepts
{preset:'rust'} → resolves to the canonical /dev/tools rust-analyzer
(installed the missing rustup component: rust-analyzer 1.95.0).
Backward compatible (explicit command still wins). Added the standing
dev-toolchain manifest (.machine_readable/dev-toolchain.a2ml) as the
single source of truth for the whole recurring loop (rust lsp/build/
lint/test, zig, julia, idris) — lsp wired now, bsp/dap adopt same.
Verified: preset rust→200 starts rust-analyzer; bad preset→helpful 400;
no-args→400; explicit command→200 (compat). deno check clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: cartridges/lsp-mcp/cartridge.json
+7-5Lines changed: 7 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -29,23 +29,25 @@
29
29
"properties": {
30
30
"command": {
31
31
"type": "string",
32
-
"description": "Language server executable (e.g. 'rust-analyzer', 'affinescript server --stdio', 'clangd')"
32
+
"description": "Language server executable (e.g. 'rust-analyzer', 'affinescript server --stdio', 'clangd'). Optional when `preset` is given."
33
+
},
34
+
"preset": {
35
+
"type": "string",
36
+
"description": "Permanent pinned toolchain preset from presets.json (e.g. 'rust' → the canonical rust-analyzer at /dev/tools). Use this instead of re-specifying the command/path every session. One of `command` or `preset` is required; an explicit `command` overrides the preset."
33
37
},
34
38
"args": {
35
39
"type": "array",
36
40
"items": {
37
41
"type": "string"
38
42
},
39
-
"description": "Additional command arguments"
43
+
"description": "Additional command arguments (appended after any preset args)"
"copyright": "Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>",
5
+
"_doc": "Permanent, pinned LSP server presets. lsp_start accepts {\"preset\":\"rust\"} instead of re-specifying the command/path every time. Absolute paths point at the canonical /dev/tools toolchain. Only presets whose server binary is actually installed and verified are listed here — do NOT add a preset for a server that is not present (an unresolved preset is worse than no preset).",
0 commit comments