Nathan Lilienthal

Results 79 issues of 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.

L1: enhancement
T: grammar
T: lexer
T: expansion

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...

L1: enhancement
T: grammar
T: semantics
M: process
M: program
T: expansion

2.5.1 Positional Parameters of the [POSIX standard](https://pubs.opengroup.org/onlinepubs/9699919799): - `@N` - positional parameter variable, (e.g. `$2`) - `shift` - builtin

L1: enhancement
M: program

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...

L1: enhancement
T: semantics
M: program

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...

T: grammar
L: design
T: lexer
M: program

This program should correctly report `10` when it's instead printing nothing. ```sh cat README.md | head -n 10 | wc -l ```

L1: bug
T: semantics
M: process

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....

L1: enhancement
F: completion
M: repl

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)...

L1: enhancement
M: repl

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...

L1: enhancement
L2: good first issue
T: io
L: design
M: repl

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...

L1: enhancement