summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/format/formatter.ts2
-rw-r--r--packages/opencode/src/lsp/server.ts8
2 files changed, 7 insertions, 3 deletions
diff --git a/packages/opencode/src/format/formatter.ts b/packages/opencode/src/format/formatter.ts
index 353a50668..1c0c9721f 100644
--- a/packages/opencode/src/format/formatter.ts
+++ b/packages/opencode/src/format/formatter.ts
@@ -31,7 +31,7 @@ export const mix: Info = {
export const prettier: Info = {
name: "prettier",
- command: [BunProc.which(), "run", "prettier", "--write", "$FILE"],
+ command: [BunProc.which(), "x", "prettier", "--write", "$FILE"],
environment: {
BUN_BE_BUN: "1",
},
diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts
index 1a3f711c7..76c377772 100644
--- a/packages/opencode/src/lsp/server.ts
+++ b/packages/opencode/src/lsp/server.ts
@@ -25,7 +25,7 @@ export namespace LSPServer {
const SimpleRoots = (patterns: string[]): RootsFunction => {
return async (app) => {
const files = await Ripgrep.files({
- glob: patterns.map(p => `**/${p}`),
+ glob: patterns.map((p) => `**/${p}`),
cwd: app.path.root,
})
const dirs = files.map((file) => path.dirname(file))
@@ -85,7 +85,11 @@ export namespace LSPServer {
export const Gopls: Info = {
id: "golang",
- roots: SimpleRoots(["go.mod", "go.sum"]),
+ roots: async (app) => {
+ const work = await SimpleRoots(["go.work"])(app)
+ if (work.length > 0) return work
+ return SimpleRoots(["go.mod", "go.sum"])(app)
+ },
extensions: [".go"],
async spawn(_, root) {
let bin = Bun.which("gopls", {