oursh
oursh copied to clipboard
Your comrade through the perilous world of UNIX.
Greenberg and Blatt's [Executable formal semantics for the POSIX shell](https://arxiv.org/pdf/1907.05308.pdf) should be closely read before we're done with the [`T-semantics`](https://github.com/nixpulvis/oursh/labels/T%3A%20semantics) and [`POSIX`](https://github.com/nixpulvis/oursh/milestone/1) milestone. Hopefully we'll find at least a few...
Builtins
We need to support the standard set of builtins. This issue can be thought of as a meta card for each of the builtins we'll need. Reference 2.14. Special Built-In...
Implement a framework for both built in and user added completions. This will be part of the a revised `completion` module, that retains the POSIX shell mode, but allows for...
We need to support the basic `fg`, `bg`, and `jobs`, `wait` commands, background syntax `&`, and the signal `SIGTSTP` typically invoked via ctrl-z. The `disown` command is standard in Bash,...
Support the [standard POSIX](https://pubs.opengroup.org/onlinepubs/9699919799/) redirection syntax ### Input - [ ] `[n]`, `[n]>|` - 2.7.2 Redirecting Output - [ ] `[n]>>` - 2.7.3 Appending Redirected Output - [ ] `[n]
Today I've written a little bit of code that uses `fork`, `wait` and `execvp` directly. There's built in support for this kind of thing in `std::process`, however I'm not 100%...
Much like bash's `!!` and related history expansions, we should support support the same when the history feature is enabled. It's a valid question of how to support disabling this...
We currently output completion possibilities over 25 in length by simply joining them with `\n`s. We should mirror `sh` style completions and format them into columns.