Adds a scratch page (kept intentionally, per controller ruling on Task 8) and one end-to-end test that drives the real language server over LSP stdio against that page's real text, verifying completion (with the seo-block negative case tested via a simulated '<' keystroke and mutation-verified against html-regions.ts), hover, folding ranges, linked editing, and wrn/tagComplete all work together on realistic content. Regenerates routes.gen.ts and wrnexus.generated.d.ts for the new page's route, required by check:generated-types. Two checks from the original brief (auto-close-tag insertion and Emmet Tab-expansion) require a live VS Code Extension Development Host and are documented as outstanding manual verification in .superpowers/sdd/2026-08-18-wrn-html-editing/task-8-report.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@wrnexus/language-server
Editor-neutral Language Server Protocol support for .wrn files. It uses the canonical
@wrnexus/syntax parser, diagnostics, accessibility rules, and formatter.
bunx wrnexus-language-server --stdio
Capabilities include syntax, accessibility and TypeScript expression diagnostics, formatting,
completion, hover, document symbols, go-to-definition, references, rename, and quick fixes.
The custom wrnexus/virtualDocument request returns the mapped TypeScript representation of an
open .wrn document for editor TypeScript plugins and safe refactoring tools. Any LSP 3.x client can launch the
stdio command. Example Neovim configuration:
vim.lsp.start({
name = "wrnexus",
cmd = { "bunx", "wrnexus-language-server", "--stdio" },
root_dir = vim.fs.root(0, { "wrnexus.config.ts", "package.json", ".git" }),
})
JetBrains users can register the same command through an LSP client/plugin. The server does not require VS Code and never reads environment secrets or sends source over a network.