src/shell.rs lines 74-76 and 106 have TODO comments about setting exit codes in the caller environment rather than just breaking from the loop. Currently exit 0 and exit 1 both break the REPL but the exit code is discarded — ferrish's process always exits with status 0 regardless.
Expected behavior: Propagate the ExitCode from execute_command through run() and use std::process::exit() (or return it to main) so that the ferrish process reflects the requested exit status.
Acceptance criteria:
src/shell.rslines 74-76 and 106 haveTODOcomments about setting exit codes in the caller environment rather than just breaking from the loop. Currentlyexit 0andexit 1both break the REPL but the exit code is discarded — ferrish's process always exits with status 0 regardless.Expected behavior: Propagate the
ExitCodefromexecute_commandthroughrun()and usestd::process::exit()(or return it tomain) so that the ferrish process reflects the requested exit status.Acceptance criteria:
exit 1causes the ferrish process to exit with status 1exit 0causes the ferrish process to exit with status 0TODOcomments inshell.rsare resolved