Julia code intelligence

Code intelligence is optional. Bring any Julia language server you like, or none at all. Execution, inline rendering, and export all work without one. Wire up a server only when you want completions, diagnostics, and go-to-definition inside your notebooks.

The kernel needs one Julia package resolvable in your default environment, and one command installs it.

nothelix setup-lsp   # adds JSON3, the kernel's runtime dependency, to your default @v#.# environment

This does not install a language server. It ensures the kernel can start. From a source checkout the equivalent contributor recipe is just setup-lsp, but a reader who installed from the tarball should use nothelix setup-lsp.

Wiring a server into languages.toml

Helix drives the server, so you point Helix’s Julia language at the launch command. Add a [language-server.<name>] entry with the command, then list that name under language-servers on the Julia [[language]] block. Restart Helix fully afterward, because it caches language configuration at startup.

Take the exact launch command from your chosen server’s own documentation. Both servers below speak the same Language Server Protocol, so Helix treats them the same way.

Servers

Server Notes
JETLS The active choice for nothelix. Newer, built on the JET framework. Reach for this first. It delegates format-on-request to a Runic binary on your PATH.
LanguageServer.jl The long-established server behind the Julia VS Code extension.

After a Julia version bump

A Julia upgrade gives you a fresh, empty default environment that no longer has JSON3. Re-run nothelix setup-lsp after upgrading so the kernel can start again.

See architecture for why nothelix ships no language server of its own. See installation for where nothelix setup-lsp fits in first-run setup.


Nothelix is MIT licensed. It stands on Helix, Steel, Julia, and Typst, among others — see the credits.

This site uses Just the Docs, a documentation theme for Jekyll.