summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorravshansbox <[email protected]>2025-12-30 22:13:36 +0300
committerGitHub <[email protected]>2025-12-30 13:13:36 -0600
commit94453eb1bdcf59e078cbab8c977100e60d7a50e6 (patch)
tree64984c2bfada8539cc884c94751dc906aaedf495
parent8f629db9888c9a17632aaafe6fd49367ea9efa22 (diff)
downloadopencode-94453eb1bdcf59e078cbab8c977100e60d7a50e6.tar.gz
opencode-94453eb1bdcf59e078cbab8c977100e60d7a50e6.zip
Add prisma language server (#6462)
-rw-r--r--packages/opencode/src/lsp/server.ts18
-rw-r--r--packages/web/src/content/docs/lsp.mdx1
2 files changed, 19 insertions, 0 deletions
diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts
index f56f1b194..379c2db89 100644
--- a/packages/opencode/src/lsp/server.ts
+++ b/packages/opencode/src/lsp/server.ts
@@ -1437,6 +1437,24 @@ export namespace LSPServer {
},
}
+ export const Prisma: Info = {
+ id: "prisma",
+ extensions: [".prisma"],
+ root: NearestRoot(["schema.prisma", "prisma/schema.prisma", "prisma"], ["package.json"]),
+ async spawn(root) {
+ const prisma = Bun.which("prisma")
+ if (!prisma) {
+ log.info("prisma not found, please install prisma")
+ return
+ }
+ return {
+ process: spawn(prisma, ["language-server"], {
+ cwd: root,
+ }),
+ }
+ },
+ }
+
export const Dart: Info = {
id: "dart",
extensions: [".dart"],
diff --git a/packages/web/src/content/docs/lsp.mdx b/packages/web/src/content/docs/lsp.mdx
index 230f782d3..a4232a70e 100644
--- a/packages/web/src/content/docs/lsp.mdx
+++ b/packages/web/src/content/docs/lsp.mdx
@@ -31,6 +31,7 @@ OpenCode comes with several built-in LSP servers for popular languages:
| ocaml-lsp | .ml, .mli | `ocamllsp` command available |
| oxlint | .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelte | `oxlint` dependency in project |
| php intelephense | .php | Auto-installs for PHP projects |
+| prisma | .prisma | `prisma` command available |
| pyright | .py, .pyi | `pyright` dependency installed |
| ruby-lsp (rubocop) | .rb, .rake, .gemspec, .ru | `ruby` and `gem` commands available |
| rust | .rs | `rust-analyzer` command available |