From 38572b81753aa56b7d87a9e46cdb04293bbc6956 Mon Sep 17 00:00:00 2001 From: Alexander Abramov Date: Wed, 18 Feb 2026 20:02:29 +0300 Subject: [PATCH] feat: add Julia language server support (#14129) Co-authored-by: Alexander Abramov --- packages/opencode/src/lsp/language.ts | 1 + packages/opencode/src/lsp/server.ts | 18 ++++++++++++++++++ packages/web/src/content/docs/lsp.mdx | 1 + 3 files changed, 20 insertions(+) diff --git a/packages/opencode/src/lsp/language.ts b/packages/opencode/src/lsp/language.ts index 430b10caa..58f4c8488 100644 --- a/packages/opencode/src/lsp/language.ts +++ b/packages/opencode/src/lsp/language.ts @@ -44,6 +44,7 @@ export const LANGUAGE_EXTENSIONS: Record = { ".htm": "html", ".ini": "ini", ".java": "java", + ".jl": "julia", ".js": "javascript", ".kt": "kotlin", ".kts": "kotlin", diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts index b0755b8b5..0200be226 100644 --- a/packages/opencode/src/lsp/server.ts +++ b/packages/opencode/src/lsp/server.ts @@ -2043,4 +2043,22 @@ export namespace LSPServer { } }, } + + export const JuliaLS: Info = { + id: "julials", + extensions: [".jl"], + root: NearestRoot(["Project.toml", "Manifest.toml", "*.jl"]), + async spawn(root) { + const julia = Bun.which("julia") + if (!julia) { + log.info("julia not found, please install julia first (https://julialang.org/downloads/)") + return + } + return { + process: spawn(julia, ["--startup-file=no", "--history-file=no", "-e", "using LanguageServer; runserver()"], { + cwd: root, + }), + } + }, + } } diff --git a/packages/web/src/content/docs/lsp.mdx b/packages/web/src/content/docs/lsp.mdx index 339761a9b..f242f4c5e 100644 --- a/packages/web/src/content/docs/lsp.mdx +++ b/packages/web/src/content/docs/lsp.mdx @@ -27,6 +27,7 @@ OpenCode comes with several built-in LSP servers for popular languages: | gopls | .go | `go` command available | | hls | .hs, .lhs | `haskell-language-server-wrapper` command available | | jdtls | .java | `Java SDK (version 21+)` installed | +| julials | .jl | `julia` and `LanguageServer.jl` installed | | kotlin-ls | .kt, .kts | Auto-installs for Kotlin projects | | lua-ls | .lua | Auto-installs for Lua projects | | nixd | .nix | `nixd` command available |