summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/config/config.ts8
-rw-r--r--packages/opencode/src/format/index.ts3
2 files changed, 11 insertions, 0 deletions
diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts
index ba7707dc8..3901bb16b 100644
--- a/packages/opencode/src/config/config.ts
+++ b/packages/opencode/src/config/config.ts
@@ -278,6 +278,14 @@ export namespace Config {
.optional()
.describe("Custom provider configurations and model overrides"),
mcp: z.record(z.string(), Mcp).optional().describe("MCP (Model Context Protocol) server configurations"),
+ formatter: z
+ .record(
+ z.string(),
+ z.object({
+ disabled: z.boolean().optional(),
+ }),
+ )
+ .optional(),
instructions: z.array(z.string()).optional().describe("Additional instruction files or patterns to include"),
layout: Layout.optional().describe("@deprecated Always uses stretch layout."),
permission: z
diff --git a/packages/opencode/src/format/index.ts b/packages/opencode/src/format/index.ts
index 754b75d43..30d464a3c 100644
--- a/packages/opencode/src/format/index.ts
+++ b/packages/opencode/src/format/index.ts
@@ -5,6 +5,7 @@ import { Log } from "../util/log"
import path from "path"
import * as Formatter from "./formatter"
+import { Config } from "../config/config"
export namespace Format {
const log = Log.create({ service: "format" })
@@ -28,9 +29,11 @@ export namespace Format {
}
async function getFormatter(ext: string) {
+ const cfg = await Config.get()
const result = []
for (const item of Object.values(Formatter)) {
if (!item.extensions.includes(ext)) continue
+ if (cfg.formatter?.[item.name]?.disabled) continue
if (!(await isEnabled(item))) continue
result.push(item)
}