Bladeren bron

fix: instructions should be able to handle absolute paths (#1762)

Aiden Cline 6 maanden geleden
bovenliggende
commit
df7296cfe1
1 gewijzigde bestanden met toevoegingen van 16 en 2 verwijderingen
  1. 16 2
      packages/opencode/src/session/system.ts

+ 16 - 2
packages/opencode/src/session/system.ts

@@ -74,8 +74,22 @@ export namespace SystemPrompt {
     paths.add(path.join(os.homedir(), ".claude", "CLAUDE.md"))
 
     if (config.instructions) {
-      for (const instruction of config.instructions) {
-        const matches = await Filesystem.globUp(instruction, cwd, root).catch(() => [])
+      for (let instruction of config.instructions) {
+        if (instruction.startsWith("~/")) {
+          instruction = path.join(os.homedir(), instruction.slice(2))
+        }
+        let matches: string[] = []
+        if (path.isAbsolute(instruction)) {
+          matches = await Array.fromAsync(
+            new Bun.Glob(path.basename(instruction)).scan({
+              cwd: path.dirname(instruction),
+              absolute: true,
+              onlyFiles: true,
+            }),
+          ).catch(() => [])
+        } else {
+          matches = await Filesystem.globUp(instruction, cwd, root).catch(() => [])
+        }
         matches.forEach((path) => paths.add(path))
       }
     }