| 126 | process.platform === "win32" ? Filesystem.normalizePathPattern(p) : p.replaceAll("\\", "/") |
| 127 | |
| 128 | const forms = (dir: string) => { |
| 129 | if (process.platform !== "win32") return [dir] |
| 130 | const full = Filesystem.normalizePath(dir) |
| 131 | const slash = full.replaceAll("\\", "/") |
| 132 | const root = slash.replace(/^[A-Za-z]:/, "") |
| 133 | return Array.from(new Set([full, slash, root, root.toLowerCase()])) |
| 134 | } |
| 135 | |
| 136 | const withShell = <A, E, R>(item: { label: string; shell: string }, self: Effect.Effect<A, E, R>) => |
| 137 | Effect.acquireUseRelease( |