yash-rs icon indicating copy to clipboard operation
yash-rs copied to clipboard

Reimplementation of yash, an extended POSIX shell

Results 50 yash-rs issues
Sort by recently updated
recently updated
newest added
trafficstars

Default-assigned variables: - [x] Default `$IFS` - [x] Default `$OPTIND` - [x] Default `$PPID` - [x] Default `$PS1` - [x] Default `$PS2` - [x] Default `$PS4` - [x] Default `$PWD`...

tracker

Currently, `VariableSet` has a hash map to store variables where keys are variable name strings and values are vectors of pairs of a variable definition and context index. This structure...

breaking change

Consider holding a local spawner in Env instead of in VirtualSystem's state. It might be useful even with RealSystem when implementing here-document and virtual subshell, for example. - [ ]...

The [current definition of variables](https://github.com/magicant/yash-rs/blob/8990b3ee8ded38483bc2276b2530fe936bb5cfa2/yash-env/src/variable.rs) does not remember the location of the unset command when an existing variable is unset. Remembering the location might help improve an error message displayed...

enhancement

Should tildes in `a=${b-~:~}` be parsed as tilde expansions or literal characters? Existing shells seem disagree. ``` $ shells -c 'HOME=HOME; a=${b-~:~}; echo "$a"' ==> bash bash --posix dash ksh...

The current implementation does not export the `LINENO` variable correctly because its value is computed on the fly when expanded.

bug

In the current implementation, the `$LINENO` variable contained in the prompt string (`$PS1` and `$PS2`) always expands to `1`. This is because the expansion of the `$LINENO` parameter occurs in...

Although [POSIX says](https://pubs.opengroup.org/onlinepubs/9799919799/utilities/sh.html#tag_20_110_09) the shell should perform "no action" on catching SIGINT, most existing shell implementations interrupt the currently running command line on SIGINT, allowing the user to quit from...

enhancement