https://github.com/susonicth/zigcat
As a lerning exercise to get to know zig I build a small command line tool that works like cat
https://github.com/susonicth/zigcat
cat cli commandline-tool learning zig
Last synced: 12 days ago
JSON representation
As a lerning exercise to get to know zig I build a small command line tool that works like cat
- Host: GitHub
- URL: https://github.com/susonicth/zigcat
- Owner: SuSonicTH
- License: mit
- Created: 2023-06-23T20:20:26.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-09-08T21:21:54.000Z (9 months ago)
- Last Synced: 2026-05-04T21:48:03.621Z (about 1 month ago)
- Topics: cat, cli, commandline-tool, learning, zig
- Language: Zig
- Homepage:
- Size: 38.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# zigcat
As a lerning exercise to get to know zig I build a small command line tool that works like cat.
Most GNU cat commandline options are implemented.
### Missing options (all depend on --show-nonprinting)
* -A, --show-all
* -e
* -t
* -v, --show-nonprinting
Feedback from more experienced zig developers is verry welcome.
If you find any bug or you see some non-idiomatic costructs please let me know.
## Usage
see [src/USAGE.txt](https://github.com/SuSonicTH/zigcat/blob/master/src/USAGE.txt)
## Licence
zigcat is licenced under the MIT licence
see [LICENSE.txt](https://github.com/SuSonicTH/zigcat/blob/master/LICENSE.txt)
## Build requirements
To build zigcat you just need the zig compiler, which can be downloaded from [https://ziglang.org/download/](https://ziglang.org/download/)
Currently this builds with zig 0.16.0, I will update the project for future versions.
There is no installation needed, just download the package for your operating system an extract the archive and add it to your `PATH`
## Build
If you have zig installed and on your `PATH` just cd into the directory and execute `zig build`
The first build takes a while and when it's finished you'll find the executeable (zigcat or zigcat.exe) in zig-out/bin/
You can run the built-in unit tests with `zig build test` If everything is ok you will see no output.
Or you can run `zig test src/main.zig` that should give you the output "All 10 tests passed." if everything is OK.
To create an optimized release build run `zig build -Doptimize=ReleaseFast`