Просмотр исходного кода

add `snapshot` field in config to disable snapshots

Dax Raad 6 месяцев назад
Родитель
Сommit
28a4517ec6
2 измененных файлов с 4 добавлено и 0 удалено
  1. 1 0
      packages/opencode/src/config/config.ts
  2. 3 0
      packages/opencode/src/snapshot/index.ts

+ 1 - 0
packages/opencode/src/config/config.ts

@@ -233,6 +233,7 @@ export namespace Config {
       theme: z.string().optional().describe("Theme name to use for the interface"),
       keybinds: Keybinds.optional().describe("Custom keybind configurations"),
       plugin: z.string().array().optional(),
+      snapshot: z.boolean().optional(),
       share: z
         .enum(["manual", "auto", "disabled"])
         .optional()

+ 3 - 0
packages/opencode/src/snapshot/index.ts

@@ -5,6 +5,7 @@ import fs from "fs/promises"
 import { Log } from "../util/log"
 import { Global } from "../global"
 import { z } from "zod"
+import { Config } from "../config/config"
 
 export namespace Snapshot {
   const log = Log.create({ service: "snapshot" })
@@ -26,6 +27,8 @@ export namespace Snapshot {
   export async function track() {
     const app = App.info()
     if (!app.git) return
+    const cfg = await Config.get()
+    if (cfg.snapshot === false) return
     const git = gitdir()
     if (await fs.mkdir(git, { recursive: true })) {
       await $`git init`