summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/lsp/server.ts21
-rw-r--r--packages/web/src/content/docs/lsp.mdx1
2 files changed, 22 insertions, 0 deletions
diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts
index 9390259a8..e0c8de998 100644
--- a/packages/opencode/src/lsp/server.ts
+++ b/packages/opencode/src/lsp/server.ts
@@ -1747,6 +1747,27 @@ export namespace LSPServer {
},
}
+ export const Clojure: Info = {
+ id: "clojure-lsp",
+ extensions: [".clj", ".cljs", ".cljc", ".edn"],
+ root: NearestRoot(["deps.edn", "project.clj", "shadow-cljs.edn", "bb.edn", "build.boot"]),
+ async spawn(root) {
+ let bin = Bun.which("clojure-lsp")
+ if (!bin && process.platform === "win32") {
+ bin = Bun.which("clojure-lsp.exe")
+ }
+ if (!bin) {
+ log.info("clojure-lsp not found, please install clojure-lsp first")
+ return
+ }
+ return {
+ process: spawn(bin, ["listen"], {
+ cwd: root,
+ }),
+ }
+ },
+ }
+
export const Nixd: Info = {
id: "nixd",
extensions: [".nix"],
diff --git a/packages/web/src/content/docs/lsp.mdx b/packages/web/src/content/docs/lsp.mdx
index df97dc3ff..b546c1991 100644
--- a/packages/web/src/content/docs/lsp.mdx
+++ b/packages/web/src/content/docs/lsp.mdx
@@ -17,6 +17,7 @@ OpenCode comes with several built-in LSP servers for popular languages:
| bash | .sh, .bash, .zsh, .ksh | Auto-installs bash-language-server |
| clangd | .c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++ | Auto-installs for C/C++ projects |
| csharp | .cs | `.NET SDK` installed |
+| clojure-lsp | .clj, .cljs, .cljc, .edn | `clojure-lsp` command available |
| dart | .dart | `dart` command available |
| deno | .ts, .tsx, .js, .jsx, .mjs | `deno` command available (auto-detects deno.json/deno.jsonc) |
| elixir-ls | .ex, .exs | `elixir` command available |