ecko lsp

ecko lsp

The language server, speaking LSP over stdin and stdout. You do not normally run it yourself - an editor launches it. See Editor support for setup.

What it provides

  • Diagnostics - the same findings as ecko check, live as you

type: undefined names with suggestions, arity, use-before-definition, match exhaustiveness, unwrapped credentials, unused bindings.

  • Completion - names in scope, standard-library modules and their functions,

and the global built-ins.

  • Hover - signatures and documentation, including the ##

doc comments on your own functions.

  • Go to definition.
  • Document symbols - the outline of a file.

No separate install

The server is the same binary as the compiler. There is no language-server package to install, no version to keep in step with the toolchain, and no possibility of the editor analyzing your code with different rules than the compiler applies - it is literally the same analysis pass.

Debugging it

An editor that shows no diagnostics is usually failing to launch the binary. Check that ecko is on the PATH the editor sees, which is not always the PATH your shell sees, and look at your editor's LSP log.