Nathan Lilienthal
Nathan Lilienthal
We should correctly parse `echo "hello world"`, and `echo 'hello world'`. The specifics of WORD expansion isn't required, and will come with #27.
POSIX shell scripts like most programs have a notion of bindings with scope. We need to implement the syntax fo assigning (`FOO=1`) and referencing (`$FOO`) variables. As part of loading...
2.5.1 Positional Parameters of the [POSIX standard](https://pubs.opengroup.org/onlinepubs/9699919799): - `@N` - positional parameter variable, (e.g. `$2`) - `shift` - builtin
Section 2.5.2 Special Parameters of the [POSIX standard](https://pubs.opengroup.org/onlinepubs/9699919799) defines a list of special characters we should interpret: - `?` - Expands to the decimal exit status of the most recent...
The majority of input to the shell is given in the form of text to be interperated as a shell *program*. To facilitate both the interactive syntax highlighting, and more...
This program should correctly report `10` when it's instead printing nothing. ```sh cat README.md | head -n 10 | wc -l ```
The initial version of this shell will be mainly a POSIX shell. We should start by replicating this somewhat basic completion functionality before adding the rest behind various feature flags....
We currently have ctrl+a and ctrl+e, but the rest of the default `sh` movements are missing. These are part of the `raw` feature, which is needed for these (and other)...
In addition to the basic support for reading programs from a non-interactive input, we need to have the ability to run in interactive mode, with prompts, and the full suite...
We're building a nice `repl` module for interaction with the terminal. This is called _interactive mode_. From the `sh` man page: > If the −i option is present, or if...