I have added a more advanced shell to the fantasy console, that allows the user to chain commands.
It currently allows for running the new shell in a non-interactive mode.
Currently, it allows for the chaining of commands conditionally (&) or unconditionally (;).
In conditional chaining the next command only runs if the last command exited successfully, and in unconditional chaining, the next command runs no matter what happened with the last.
How did you implement it/them?
I modified the general terminal code, to return the result of ran commands, allowing conditional chaining of commands.
At first, it used code in the xshell program for parsing. Now, however, it organizes the code better through use of the built-in language parser to parse the input, and interpret it as a chain of commands separated by characters.
This edit contains two new files, one contains the new language for the parsing system, and the other contains the main program for xhsell.
The existing programs still need to be modified to return their error status, to further improve xshell's conditional chaining.
A lot of the code that was used was already used in parts of LIKO-12