[PATCH zig-exre] Update to Zig 0.13.0
Export this patch
---
.gitignore | 2 ++
README.md | 2 + -
build.zig | 13 +++++++ ------
build.zig.zon | 11 +++++++++++
cmd.zig | 13 +++++++ ------
5 files changed, 28 insertions(+), 13 deletions(-)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3389c86
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+ .zig-cache/
+ zig-out/
diff --git a/README.md b/README.md
index a394e38..582416a 100644
--- a/README.md
+++ b/README.md
@@ -113,7 +113,7 @@ clone of the `grep` utility and perform performance measurement respectively.
## Zig Version
- zig-exre is developed against zig releases. Currently zig 0.11.0.
+ zig-exre is developed against zig releases. Currently zig 0.13.0.
## Contributing
diff --git a/build.zig b/build.zig
index 71c12eb..6e9b9db 100644
--- a/build.zig
@@ -1,25 +1,26 @@
const std = @import("std");
- const Builder = std.build.Builder;
- pub fn build(b: *Builder) void {
+ pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const exre_mod = b.addModule("exre", .{
- .source_file = .{ .path = "exre.zig" },
+ .root_source_file = b.path("exre.zig"),
+ .target = target,
+ .optimize = optimize,
});
const exe = b.addExecutable(.{
.name = "exre",
- .root_source_file = .{ .path = "cmd.zig" },
+ .root_source_file = b.path("cmd.zig"),
.target = target,
.optimize = optimize,
});
- exe.addModule("exre", exre_mod);
+ exe.root_module.addImport("exre", exre_mod);
b.installArtifact(exe);
const tests = b.addTest(.{
- .root_source_file = .{ .path = "exre.zig" },
+ .root_source_file = b.path("exre.zig"),
.target = target,
.optimize = optimize,
});
diff --git a/build.zig.zon b/build.zig.zon
index 6499f2f..8ad0dfa 100644
--- a/build.zig.zon
@@ -1,4 +1,15 @@
.{
.name = "exre",
.version = "0.1.0",
+ .minimum_zig_version = "0.11.0",
+ .paths = .{
+ "build.zig",
+ "build.zig.zon",
+ "cmd.zig",
+ "exre.zig",
+ "LICENSE",
+ "perf.py",
+ "README.md",
+ ".meta",
+ },
}
diff --git a/cmd.zig b/cmd.zig
index f56a0d1..c54fdf8 100644
--- a/cmd.zig
+++ b/cmd.zig
@@ -1,13 +1,14 @@
const exre = @import("exre");
const std = @import("std");
const ascii = std.ascii;
+ const fmt = std.fmt;
const fs = std.fs;
const heap = std.heap;
const io = std.io;
- const fmt = std.fmt;
+ const log = std.log.scoped(.grep);
const mem = std.mem;
const os = std.os;
- const log = std.log.scoped(.grep);
+ const posix = std.posix;
const time = std.time;
const gpa = heap.page_allocator;
@@ -45,7 +46,7 @@ pub fn main() !u8 {
}
fn grep(writer: anytype, r: exre.Regex(.{}), case_sensitive: bool) !void {
- var dir = try fs.cwd().openIterableDir(".", .{});
+ var dir = try fs.cwd().openDir(".", .{});
defer dir.close();
var dir_it = dir.iterate();
@@ -56,9 +57,9 @@ fn grep(writer: anytype, r: exre.Regex(.{}), case_sensitive: bool) !void {
if (!mem.endsWith(u8, name, ".zig")) continue;
- var stat: os.system.Stat = mem.zeroes(os.system.Stat);
- _ = os.system.lstat(name, &stat);
- if ((stat.mode & os.S.IFMT) != os.S.IFREG) continue;
+ var stat: posix.system.Stat = mem.zeroes(posix.system.Stat);
+ _ = posix.system.lstat(name, &stat);
+ if ((stat.mode & posix.S.IFMT) != posix.S.IFREG) continue;
const file = try fs.cwd().openFile(name, .{});
defer file.close();
--
2.45.2
Hi,
thanks for your patch!
Unfortunately, the test command now crashes when trying to use the
`grep` subcommand. Seems like iterating the directory doesn't work
anymore?
--
Friendly greetings,
Leon Henrik Plickat