POSIX shell written in Zig
| src | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| LICENSE | ||
| README.md | ||
wsh
Wizard Shell
This is a passion project to learn how POSIX shells work. This is my first real project at least that I plan to finish (let's see how that goes). The objective is to eventually get this to be daily driveable and fully POSIX compliant.
Build
zig build -Doptimize=ReleaseFast -Dstrip
Supports:
- Quoting ("wizard's spellbook", wizard\'s academy) [backticks not supported yet]
- autocomplete (absolute and relative)
- pipes
>,1>,2>, and the>>equivalents- home directory paths (
~) - builtins supported (so far): echo, cd, exit, pwd, type
- backspace and delete
- left and right arrow key scrolling
- default? set enviornment variables ($TERM)
TODO/wish list:
- echo enviornment variables
- autocomplete on filepaths (done!) [very buggy!]
- all POSIX operators (
&>,&<,<,<<,>&,&&,&,||,;, etc.) - all POSIX builtins (export, alias, shopt, etc.)
- shell history
- bang commands
- shell scripts
- rc file
- reverse search on shell history (better than bash)
- vi mode
- base16 and 256 custom color prompts