Editors#

Temper has a language server, and a Visual Studio Code extension built on it. Other editors that speak the Language Server Protocol can use the server too.

VS Code#

The extension highlights Temper (.temper) and literate Temper (.temper.md), shows a rendered preview of literate files, and runs the language server for:

Blocks tagged temper inert, Temper shown for reading but not compiled, are highlighted too, tinted and labeled "inert" in the editor, the preview, and on this site; the language server leaves them alone.

Each platform's package bundles the compiler. How to install it, and its settings, are in editors/vscode.

Screenshot of VS Code with Temper code highlighted, with red error squiggles under "Float" in public radius: Float and a hover box noting "No declaration for Float". Elsewhere "Float64" appears without error squiggles.

The language server#

tempest lsp, or tempest serve, speaks the protocol over standard input and output. How it works is in the internals.

Note: Temper's first compiler starts its server with temper serve --port N, and its extension, "Temper Language Support", is built from its repository; tempest's is tempest lsp (or tempest serve, without --port), on standard input and output (inconsistencies).