Add tree-sitter-json (0.24) and tree-sitter-yaml (0.7) to BUILTIN_LANGUAGES (both ABI-current via tree-sitter-language, verified compiling under tree-sitter 0.26), each self-contained highlights, no injections of their own. Extensions json=.json, yaml=.yaml/.yml; root kinds json `document`, yaml `stream`. The payoff from the #122 injection engine is free: the markdown block injection query already sets injection.language "yaml" for `---` frontmatter (minus_metadata) and "toml" for `+++` (plus_metadata), so registering yaml lights up YAML frontmatter highlighting with no extra wiring, and ```json / ```yaml / ```yml fences resolve through the engine (yml->yaml alias already present). Two acceptance tests pin this synergy. LSP (builtin/runtime/lsp.lua): pmacs.lsp.config.json uses the maintained extracted-bundle binary `vscode-json-language-server --stdio` (NOT the stale standalone vscode-json-languageserver); MIT, no telemetry, remote $schema fetch left enabled (no handledSchemaProtocols). pmacs.lsp.config .yaml uses `yaml-language-server --stdio` with Red Hat telemetry disabled by default. Both ship the exact workspace/configuration sections each server pulls (json+http; yaml+http+redhat.telemetry) present-not-null so the servers get defaults rather than erroring — the CMake #117 lesson. Sections derived from server source/docs (neither binary installed on this build machine to observe live; verify where present). Filetype fallback entries added. JSON is the standing prerequisite for the Jupyter .ipynb arc; handoff §6 updated. Nine acceptance tests (grammar ABI, highlights compile, detection, grammar<->LSP-key alignment, the two frontmatter/fence synergy proofs, and the pinned LSP-config sections). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJ9FQ832QwftJXCD9LeFan |
||
|---|---|---|
| .. | ||
| api | ||
| commands | ||
| hooks | ||
| keymaps | ||
| menus | ||
| packages/repl | ||
| runtime | ||