ry2009 2 месяцев назад
Родитель
Сommit
16c4b02b69
2 измененных файлов с 431 добавлено и 89 удалено
  1. 54 0
      packages/opencode/src/lsp/server.ts
  2. 377 89
      packages/sdk/js/openapi.json

+ 54 - 0
packages/opencode/src/lsp/server.ts

@@ -209,6 +209,60 @@ export namespace LSPServer {
     },
   }
 
+  export const Biome: Info = {
+    id: "biome",
+    root: NearestRoot(["biome.json", "biome.jsonc", "package-lock.json", "bun.lockb", "bun.lock", "pnpm-lock.yaml", "yarn.lock"]),
+    extensions: [
+      ".ts",
+      ".tsx",
+      ".js",
+      ".jsx",
+      ".mjs",
+      ".cjs",
+      ".mts",
+      ".cts",
+      ".json",
+      ".jsonc",
+      ".vue",
+      ".astro",
+      ".svelte",
+      ".css",
+      ".graphql",
+      ".gql",
+      ".html",
+    ],
+    async spawn(root) {
+      const localBin = path.join(root, "node_modules", ".bin", "biome")
+      let bin: string | undefined
+      if (await Bun.file(localBin).exists()) bin = localBin
+      if (!bin) {
+        const found = Bun.which("biome")
+        if (found) bin = found
+      }
+
+      let args = ["lsp-proxy", "--stdio"]
+
+      if (!bin) {
+        const resolved = await Bun.resolve("biome", root).catch(() => undefined)
+        if (!resolved) return
+        bin = BunProc.which()
+        args = ["x", "biome", "lsp-proxy", "--stdio"]
+      }
+
+      const proc = spawn(bin, args, {
+        cwd: root,
+        env: {
+          ...process.env,
+          BUN_BE_BUN: "1",
+        },
+      })
+
+      return {
+        process: proc,
+      }
+    },
+  }
+
   export const Gopls: Info = {
     id: "gopls",
     root: async (file) => {

Разница между файлами не показана из-за своего большого размера
+ 377 - 89
packages/sdk/js/openapi.json


Некоторые файлы не были показаны из-за большого количества измененных файлов