Awesome
<!-- SPDX-FileCopyrightText: 2023 Shun Sakai SPDX-License-Identifier: Apache-2.0 OR MIT -->sysexits-zig
sysexits-zig is a library that provides the system exit code constants as
defined by <sysexits.h>
.
This library is a port of sysexits-rs.
Usage
Add this package to your build.zig.zon
:
zig fetch --save git+https://github.com/sorairolake/sysexits-zig.git
Add the following to your build.zig
:
const sysexits = b.dependency("sysexits", .{});
exe.root_module.addImport("sysexits", sysexits.module("sysexits"));
Example
const std = @import("std");
const sysexits = @import("sysexits");
pub fn main() !u8 {
const bytes = [_]u8{ 0xf0, 0x9f, 0x92, 0x96 };
if (std.unicode.utf8ValidateSlice(&bytes)) {
try std.io.getStdOut().writer().print("{s}\n", .{bytes});
return @intFromEnum(sysexits.ExitCode.ok);
} else {
try std.io.getStdErr().writer().print("Error: invalid UTF-8 sequence\n", .{});
return @intFromEnum(sysexits.ExitCode.data_err);
}
}
Documentation
To build the documentation:
zig build doc
The result is generated in zig-out/docs
.
If you want to preview this, run a HTTP server locally. For example:
python -m http.server -d zig-out/docs
Then open http://localhost:8000/
in your browser.
Zig version
This library is compatible with Zig version 0.13.0.
Source code
The upstream repository is available at https://github.com/sorairolake/sysexits-zig.git.
The source code is also available at:
Changelog
Please see CHANGELOG.adoc.
Contributing
Please see CONTRIBUTING.adoc.
License
Copyright © 2023–2024 Shun Sakai (see AUTHORS.adoc)
This library is distributed under the terms of either the Apache License 2.0 or the MIT License.
This project is compliant with version 3.2 of the REUSE Specification. See copyright notices of individual files for more details on copyright and licensing information.