Back to Oh My Openagent

Julia — LSP setup

packages/omo-codex/plugin/skills/lsp-setup/references/julia/README.md

4.9.22.3 KB
Original Source

Julia — LSP setup

  • Builtin server: julialsjulia --startup-file=no --history-file=no -e using LanguageServer; runserver()
  • Extensions: .jl
  • Install hint: julia -e 'using Pkg; Pkg.add("LanguageServer")'

The PATH executable is julia; LanguageServer.jl is launched through the -e snippet, not as its own binary.

Install

Install Julia (juliaup recommended), then add the LanguageServer package:

  • macOS: brew install juliaup && juliaup add release
  • Linux: curl -fsSL https://install.julialang.org | sh (installs juliaup)
  • Windows: winget install julia -s msstore (installs juliaup)

Then add the package — ideally into a shared @lsp environment so it is not tied to one project:

bash
julia --project=@lsp -e 'using Pkg; Pkg.add("LanguageServer")'

Confirm Julia resolves (the LSP binary IS julia):

bash
command -v julia

Configure

Builtin — usually NO config needed (auto-resolved by extension). Configure only to set priority, init options, override extensions, or disable. Same JSON shape in .codex/lsp-client.json (Codex) AND .opencode/lsp.json (OpenCode/omo):

json
{ "lsp": { "julials": { "priority": 100 } } }

For builtin ids in a PROJECT config, command is supplied automatically — only set priority/initialization/extensions/disabled/env. A fully custom (non-builtin) server with its own command must go in the USER config (~/.codex/lsp-client.json).

Initialization options (only if commonly needed)

None commonly required. To pin which environment hosts LanguageServer.jl, set JULIA_PROJECT (or JULIA_DEPOT_PATH) via env:

json
{ "lsp": { "julials": { "env": { "JULIA_PROJECT": "@lsp" } } } }

Alternatives

  • The VS Code Julia extension bundles the same LanguageServer.jl server.

Troubleshooting

  • PATH: julia on PATH (not a julials binary); reopen shell after juliaup install.
  • First run precompiles — be patient: the initial launch compiles LanguageServer.jl and may take minutes with no output; do not kill it. Subsequent starts are fast.
  • Package not found: LanguageServer must be installed in the environment the server runs in (e.g. @lsp); add it there and set JULIA_PROJECT.

Verify

bash
bun ../../scripts/verify-lsp.ts path/to/file.jl