POSIX shell written in Zig
Find a file
2025-05-02 13:58:49 -04:00
src missing lines??? 2025-05-02 13:58:49 -04:00
.gitignore initial commit 2025-05-02 13:56:26 -04:00
build.zig add -Dstrip to build.zig 2025-05-02 13:56:26 -04:00
build.zig.zon missing lines??? 2025-05-02 13:58:49 -04:00
LICENSE Initial commit 2025-01-23 15:40:33 -05:00
README.md update README 2025-05-02 13:58:49 -04:00

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