~leon_plickat/public-inbox

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch
3 3

[PATCH zig-spoon 0/1] update to current zig master

Details
Message ID
<167900862587.24078.7644070656633147314-0@git.sr.ht>
DKIM signature
missing
Download raw message
Tested with:
zig version
0.11.0-dev.1987+a2c6ecd6d

Tobias Simetsreiter (1):
  update to current zig master

 build.zig                         | 73 ++++++++++++++-----------------
 example/menu.zig                  |  3 +-
 lib/input.zig                     |  6 +--
 lib/restricted_padding_writer.zig |  2 +-
 4 files changed, 38 insertions(+), 46 deletions(-)

-- 
2.34.7

[PATCH zig-spoon 1/1] update to current zig master

Details
Message ID
<167900862587.24078.7644070656633147314-1@git.sr.ht>
In-Reply-To
<167900862587.24078.7644070656633147314-0@git.sr.ht> (view parent)
DKIM signature
missing
Download raw message
Patch: +38 -46
From: Tobias Simetsreiter <tobias.simetsreiter@meliot.de>

---
 build.zig                         | 73 ++++++++++++++-----------------
 example/menu.zig                  |  3 +-
 lib/input.zig                     |  6 +--
 lib/restricted_padding_writer.zig |  2 +-
 4 files changed, 38 insertions(+), 46 deletions(-)

diff --git a/build.zig b/build.zig
index b45bd87..c55a7fc 100644
--- a/build.zig
@@ -3,52 +3,43 @@ const Builder = std.build.Builder;

pub fn build(b: *Builder) void {
    const target = b.standardTargetOptions(.{});
    const mode = b.standardReleaseOptions();
    const mode = b.standardOptimizeOption(.{});

    const tests = b.addTest("test_main.zig");
    tests.setTarget(target);
    tests.setBuildMode(mode);
    const tests = b.addTest(.{
        .root_source_file = .{.path = "test_main.zig" },
        .target = target,
        .optimize = mode,
    });
    const test_step = b.step("test", "Run all tests");
    test_step.dependOn(&tests.step);
    const spoon = b.createModule(.{
        .source_file = .{ .path = "import.zig" },
    });

    {
        const exe = b.addExecutable("menu", "example/menu.zig");
        exe.setTarget(target);
        exe.setBuildMode(mode);
        exe.addPackagePath("spoon", "import.zig");
        exe.install();
    }

    {
        const exe = b.addExecutable("menu-libc", "example/menu.zig");
        exe.setTarget(target);
        exe.setBuildMode(mode);
        exe.addPackagePath("spoon", "import.zig");
        exe.linkLibC();
        exe.install();
    }

    {
        const exe = b.addExecutable("input-demo", "example/input-demo.zig");
        exe.setTarget(target);
        exe.setBuildMode(mode);
        exe.addPackagePath("spoon", "import.zig");
        exe.install();
    }

    {
        const exe = b.addExecutable("colours", "example/colours.zig");
        exe.setTarget(target);
        exe.setBuildMode(mode);
        exe.addPackagePath("spoon", "import.zig");
        exe.install();
    }
    inline for (.{
        .{ .name="menu", },
        .{ .name="menu-libc", .linkC = true, .src = "example/menu.zig" },
        .{ .name="input-demo" },
        .{ .name="colours" },
        .{ .name="table-256-colours" },
    }) |example| {
        const src = if (@hasField(@TypeOf(example), "src"))
            example.src
        else
            "example/"++example.name++".zig";

    {
        const exe = b.addExecutable("table-256-colours", "example/table-256-colours.zig");
        exe.setTarget(target);
        exe.setBuildMode(mode);
        exe.addPackagePath("spoon", "import.zig");
        const exe = b.addExecutable(.{
            .name = example.name,
            .root_source_file = .{.path = src },
            .target = target,
            .optimize = mode,
        });
        exe.addModule("spoon", spoon);
        if ( @hasField(@TypeOf(example), "linkC") and example.linkC == true ){
            exe.linkLibC();
        }
        exe.install();
        const run = exe.run();
        b.step("run-"++example.name, "Run Example "++example.name).dependOn(&run.step);
    }
}
diff --git a/example/menu.zig b/example/menu.zig
index a978fd1..c50085b 100644
--- a/example/menu.zig
+++ b/example/menu.zig
@@ -66,12 +66,13 @@ pub fn main() !void {
}

fn render() !void {
    try term.fetchSize();
    var rc = try term.getRenderContext();
    defer rc.done() catch {};

    try rc.clear();

    if (term.width < 6) {
    if (term.width < 30) {
        try rc.setAttribute(.{ .fg = .red, .bold = true });
        try rc.writeAllWrapping("Terminal too small!");
        return;
diff --git a/lib/input.zig b/lib/input.zig
index a559445..c605162 100644
--- a/lib/input.zig
+++ b/lib/input.zig
@@ -167,7 +167,7 @@ const InputParser = struct {
        // This may be either a M-[a-z] code, or we accidentally received an
        // escape key press and a letter key press together. There is literally
        // no way to differentiate. However the second case is less likely.
        if (ascii.isAlpha(self.bytes.?[1]) and ascii.isLower(self.bytes.?[1])) {
        if (ascii.isAlphanumeric(self.bytes.?[1]) and ascii.isLower(self.bytes.?[1])) {
            defer self.advanceBufferBy("\x1Ba".len);
            return Input{ .content = .{ .codepoint = self.bytes.?[1] }, .mod_alt = true };
        }
@@ -229,7 +229,7 @@ const InputParser = struct {
        // 1) the sequence starts with '\x1B[' (well... duh)
        // 2) self.bytes.?[3] is an ascii numeric caracter
        if (self.bytes.?.len > 3) {
            for (self.bytes.?[3..]) |byte, i| {
            for (self.bytes.?[3..], 0..) |byte, i| {
                if (!ascii.isDigit(byte)) {
                    const first_num_bytes = self.bytes.?[2 .. i + 3];
                    switch (byte) {
@@ -303,7 +303,7 @@ const InputParser = struct {
    fn doubleNumericEscapeSequence(self: *Self, first_num_bytes: []const u8) Input {
        const semicolon_index = "\x1B[".len + first_num_bytes.len;
        if (self.bytes.?.len > semicolon_index + 1) {
            for (self.bytes.?[semicolon_index + 1 ..]) |byte, i| {
            for (self.bytes.?[semicolon_index + 1 ..], 0..) |byte, i| {
                if (!ascii.isDigit(byte)) {
                    const second_num_bytes = self.bytes.?[semicolon_index + 1 .. i + semicolon_index + 1];
                    switch (byte) {
diff --git a/lib/restricted_padding_writer.zig b/lib/restricted_padding_writer.zig
index cb23210..05ad2cf 100644
--- a/lib/restricted_padding_writer.zig
+++ b/lib/restricted_padding_writer.zig
@@ -118,7 +118,7 @@ pub fn RestrictedPaddingWriter(comptime UnderlyingWriter: type) type {
                return bytes.len;
            }

            for (bytes) |c, i| {
            for (bytes, 0..) |c, i| {
                if (self.len_left == 0) break;

                // If we are building up a codepoint right now, just add the
-- 
2.34.7

[zig-spoon/patches/alpine.yml] build failed

builds.sr.ht <builds@sr.ht>
Details
Message ID
<CR86WAR2S86E.QLYIK66L8BOO@cirno2>
In-Reply-To
<167900862587.24078.7644070656633147314-1@git.sr.ht> (view parent)
DKIM signature
missing
Download raw message
zig-spoon/patches/alpine.yml: FAILED in 33s

[update to current zig master][0] from [~backpackjoe][1]

[0]: https://lists.sr.ht/~leon_plickat/public-inbox/patches/39782
[1]: dasimmet@gmail.com

✗ #958398 FAILED zig-spoon/patches/alpine.yml https://builds.sr.ht/~leon_plickat/job/958398
Details
Message ID
<CR8KBZY5BIOA.1SF07PG0BTGT4@kasten>
In-Reply-To
<167900862587.24078.7644070656633147314-0@git.sr.ht> (view parent)
DKIM signature
missing
Download raw message
Thank you for the patch, however all my zig project always target the
latest release, never git master.


Friendly greetings,
Leon Henrik Plickat
Reply to thread Export thread (mbox)