What a language server is
Completion, go-to-definition, rename, and the red squiggles that mark an error don’t come from the editor. Helix gets them by talking to a language server: a separate program that understands one language, keeps its own copy of your files, and answers questions over a wire protocol called LSP. Every editor that speaks LSP gets the same answers, which is why Helix can offer these features for dozens of languages without a plugin for each.
On a real machine you install a server (rust-analyzer, pyright,
gopls) and Helix starts it the first time you open a matching file. The
browser can’t start programs, so this site runs a small stand-in of its own:
a scripted server that knows nothing about any real language and answers
purely from the text of the buffer beside you. It only attaches on the steps
of this lesson — everywhere else the editor runs without one, as it has so
far.
A few commands talk about the connection itself:
:lsp-restartrestarts the server for the current buffer:lsp-stopstops it;:lsp-workspace-commandlists what it offers
The checklist starts with a warm-up from lesson 17, then has you restart the server. The statusline notes that the old connection exited; the new one attaches without a word. Try the same command on any earlier lesson and it answers “LSP not defined for the current document” instead.