The binding language has no render errors. An unknown path renders as empty, never as the path itself and never as undefined, so a typo ships silently and is found by a shopper looking at a blank element. mercemur theme check catches that at commit time. The language server catches it at keystroke time, which is where it is cheapest to fix.

What it does

Completing an amount inserts the filter with it: choosing price writes price | money. Rendering 1999 at a shopper is the most common binding mistake, and completion is the one moment a tool can prevent it rather than report it.

VS Code

There is no marketplace extension yet. Point any generic LSP client at the binary. With vscode-glspc:
settings.json

Neovim

init.lua

Zed

settings.json

Working offline

The server fetches the contract once at startup, on a short timeout, and never fails if it cannot. Without a store or a key it still runs and still reports the rules that need no schema, because an editor that fails to start is worse than one that knows less. A laptop on a plane is a normal place to edit a template. The same applies to theme check: it says so explicitly when paths were not checked, rather than reporting “nothing to report” and letting that read as “every path is real”.
mercemur language-server is not run by hand. An editor starts it and speaks LSP over stdin and stdout; stdout is the protocol channel, so the command prints nothing of its own.