Home Docs Download About Contact
Download

The language server

One server, every editor — the LSP is part of the toolchain.

Tooling Updated 2026-08-01 Edit this page

The Prism language server speaks the Language Server Protocol and ships inside the prism binary. Every editor that supports LSP gets the full experience with no per-editor maintenance.

What you get

  • Completions — methods, modules, and even the arguments of the function you are calling.
  • Go to definition — cross-file and cross-crate, including into packages.
  • Rename — safe, whole-project renames of symbols.
  • Diagnostics — errors and warnings stream in as you type, exactly matching the compiler.
  • Hover — signatures, docs and inferred types.
  • Format on save — the server reformats your file as you type, no separate command needed.

Editor support

EditorSetup
VS CodeInstall the Prism extension from the marketplace
JetBrainsInstall the Prism plugin
Neovimvim.lsp.start({ name = "prism", cmd = { "prism", "lsp" } })
HelixAdd Prism to languages.toml
ZedPrism support is bundled

Helix and Zed find the server automatically when prism is on your PATH.

Starting it manually

Editors that need explicit configuration can start the server directly:

prism lsp

The server communicates over stdio, per the LSP. Verbose logging goes to stderr:

prism lsp --log-level=debug 2> lsp.log

Architecture

The server is a library the compiler links. This is deliberate: the analysis the editor asks for and the analysis the compiler performs cannot drift apart, because they are the same code.

Note: the server is incremental — it caches module analysis across edits, so large projects stay responsive even while typing mid-keystroke.

Next: Editors.