summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlexander Abramov <[email protected]>2026-02-18 20:02:29 +0300
committerGitHub <[email protected]>2026-02-18 11:02:29 -0600
commit38572b81753aa56b7d87a9e46cdb04293bbc6956 (patch)
tree67bc26ec574b93f72e1a8374a347623dc70c4704
parentfc1addb8f4830e71c268fb0609fa6489cd55e2b2 (diff)
downloadopencode-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.ts1
-rw-r--r--packages/opencode/src/lsp/server.ts18
-rw-r--r--packages/web/src/content/docs/lsp.mdx1
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 |