diff options
| author | Ian Johnson <ian@ianjohnson.dev> | 2023-06-24 22:50:28 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-07-24 19:41:59 -0700 |
| commit | 9892ec31a06d2c5806ccfbdf4cd03f1a40de3ab8 (patch) | |
| tree | fd3f77739ed46bc04f0be0f836f97196a0be4390 /src | |
| parent | 10d940d7f4c081f4dd7e15513b972940335b465c (diff) | |
| download | zig-9892ec31a06d2c5806ccfbdf4cd03f1a40de3ab8.tar.gz zig-9892ec31a06d2c5806ccfbdf4cd03f1a40de3ab8.zip | |
zig fmt: make `--exclude` work on files
Closes #16178
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.zig | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main.zig b/src/main.zig index ffe5a9c8ea..d939eebc68 100644 --- a/src/main.zig +++ b/src/main.zig @@ -4752,13 +4752,16 @@ pub fn cmdFmt(gpa: Allocator, arena: Allocator, args: []const []const u8) !void // Mark any excluded files/directories as already seen, // so that they are skipped later during actual processing for (excluded_files.items) |file_path| { - var dir = fs.cwd().openDir(file_path, .{}) catch |err| switch (err) { + const stat = fs.cwd().statFile(file_path) catch |err| switch (err) { error.FileNotFound => continue, + // On Windows, statFile does not work for directories + error.IsDir => dir: { + var dir = try fs.cwd().openDir(file_path, .{}); + defer dir.close(); + break :dir try dir.stat(); + }, else => |e| return e, }; - defer dir.close(); - - const stat = try dir.stat(); try fmt.seen.put(stat.inode, {}); } |
