Jelajahi Sumber

fix(win32): normalize backslash paths in config rel() and file ignore (#14903)

Luke Parker 6 bulan lalu
induk
melakukan
1a0639e5b8

+ 3 - 2
packages/opencode/src/config/config.ts

@@ -342,10 +342,11 @@ export namespace Config {
   }
   }
 
 
   function rel(item: string, patterns: string[]) {
   function rel(item: string, patterns: string[]) {
+    const normalizedItem = item.replaceAll("\\", "/")
     for (const pattern of patterns) {
     for (const pattern of patterns) {
-      const index = item.indexOf(pattern)
+      const index = normalizedItem.indexOf(pattern)
       if (index === -1) continue
       if (index === -1) continue
-      return item.slice(index + pattern.length)
+      return normalizedItem.slice(index + pattern.length)
     }
     }
   }
   }
 
 

+ 1 - 1
packages/opencode/src/file/ignore.ts

@@ -67,7 +67,7 @@ export namespace FileIgnore {
       if (Glob.match(pattern, filepath)) return false
       if (Glob.match(pattern, filepath)) return false
     }
     }
 
 
-    const parts = filepath.split(sep)
+    const parts = filepath.split(/[/\\]/)
     for (let i = 0; i < parts.length; i++) {
     for (let i = 0; i < parts.length; i++) {
       if (FOLDERS.has(parts[i])) return true
       if (FOLDERS.has(parts[i])) return true
     }
     }