diff options
| author | Alexander Abramov <[email protected]> | 2026-02-18 20:02:29 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-02-18 11:02:29 -0600 |
| commit | 38572b81753aa56b7d87a9e46cdb04293bbc6956 (patch) | |
| tree | 67bc26ec574b93f72e1a8374a347623dc70c4704 | |
| parent | fc1addb8f4830e71c268fb0609fa6489cd55e2b2 (diff) | |
| download | opencode-38572b81753aa56b7d87a9e46cdb04293bbc6956.tar.gz opencode-38572b81753aa56b7d87a9e46cdb04293bbc6956.zip | |
feat: add Julia language server support (#14129)
Co-authored-by: Alexander Abramov <[email protected]>
| -rw-r--r-- | packages/opencode/src/lsp/language.ts | 1 | ||||
| -rw-r--r-- | packages/opencode/src/lsp/server.ts | 18 | ||||
| -rw-r--r-- | packages/web/src/content/docs/lsp.mdx | 1 |
3 files changed, 20 insertions, 0 deletions
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<string, string> = { ".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 | |
