edc / bass

Make Bash utilities usable in Fish shell
MIT License
2.2k stars 70 forks source link

Fully support interactive commands that use stdout #71

Closed tbodt closed 5 years ago

tbodt commented 5 years ago

The environment and aliases are outputted from bash on a pipe, and the script is outputted on FD 3. This leaves bash with full control over stdio. Bass will now only write to stdio if there's a Python exception.

This also simplifies the code. Since there's no need to handle stdout specially, the environment is just the first line of the output from bash, which means there's no need for a divider anymore.

The fish code has been refactored to use local variables and propagate exit statuses more sanely.

tbodt commented 5 years ago

@edc This is ready to merge, and includes a fix for #69.

edc commented 5 years ago

Thanks for the refactor @tbodt! This looks great. I am traveling so I am not able to look closer. Please allow a couple of days. I will get back to you soon.

tbodt commented 5 years ago

@edc friendly ping

edc commented 5 years ago

Thanks again @tbodt. So sorry about the delay.