Dax Raad 2 месяцев назад
Родитель
Сommit
2c8d42d997
1 измененных файлов с 9 добавлено и 5 удалено
  1. 9 5
      packages/opencode/src/lsp/server.ts

+ 9 - 5
packages/opencode/src/lsp/server.ts

@@ -82,13 +82,12 @@ export namespace LSPServer {
 
   export const Typescript: Info = {
     id: "typescript",
-    root: NearestRoot(
-      ["package-lock.json", "bun.lockb", "bun.lock", "pnpm-lock.yaml", "yarn.lock"],
-      ["deno.json", "deno.jsonc"],
-    ),
+    root: NearestRoot(["tsconfig.json", "package.json", "jsconfig.json", ".git"], ["deno.json", "deno.jsonc"]),
     extensions: [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".mts", ".cts"],
     async spawn(root) {
-      const proc = spawn(BunProc.which(), ["x", "@vtsls/language-server", "--stdio"], {
+      const tsserver = await Bun.resolve("typescript/lib/tsserver.js", root).catch(() => {})
+      if (!tsserver) return
+      const proc = spawn(BunProc.which(), ["x", "typescript-language-server", "--stdio"], {
         cwd: root,
         env: {
           ...process.env,
@@ -97,6 +96,11 @@ export namespace LSPServer {
       })
       return {
         process: proc,
+        initialization: {
+          tsserver: {
+            path: tsserver,
+          },
+        },
       }
     },
   }