forked from TheShinx317/anyline
No description
- Zig 99%
- Shell 0.7%
- C 0.3%
|
|
||
|---|---|---|
| include | included lib header | |
| src | enriched RELEASE.md, disabled inputrc | |
| .gitignore | clean up | |
| .inputrc | updated inputrc handling | |
| build.zig | refined logic for bundle_compiler_rt | |
| build.zig.zon | bumped anyline version in zon file and README.md, reformatted README.md, reorganized build.zig and removed unnecessary libc linkage by introducing more modules | |
| LICENSE | Added MIT license | |
| README.md | bumped anyline version in zon file and README.md, reformatted README.md, reorganized build.zig and removed unnecessary libc linkage by introducing more modules | |
| RELEASE.md | enriched RELEASE.md, disabled inputrc | |
| release.sh | added release script | |
Anyline
Anyline is a line processing library intended to be a drop-in replacement for GNU Readline. Anyline leverages Zig's cross compilation toolchain to bring the library to not only Unix, but also Windows.
Development Status
Anyline is a work in progress. More features and platforms will be added. Keep an eye on the releases for more details.
Installation
Build from source
Firstly, you need to install Zig 0.15.2.
Then, zig build install will produce a static library at zig-out/lib and a header file at
zig-out/include.
Add as a Zig dependency
First, update your build.zig.zon:
zig fetch --save https://codeberg.org/TheShinx317/anyline/archive/v0.5.0.tar.gz
Next, add this snippet to your build.zig script:
const anyline_dep = b.dependency("anyline", .{
.target = target,
.optimize = optimize,
});
your_module.addImport("anyline", anyline_dep.module("anyline"));
Supported platforms
| Operating System | Architecture | Terminal Emulator | Shell |
|---|---|---|---|
| Windows 11 | x86_64 | Microsoft Terminal | PowerShell 7 |
| Linux | x86_64 | Ghostty, GNOME | Fish, Bash |
| MacOS | aarch64 | Ghostty, iTerm2, MacOS Terminal | Fish, Zsh |
| FreeBSD | x86_64 | XFCE Terminal | Fish, Sh |