Get Word Designators Working Everywhere
I've just recently added support for word designators. So far, I have implemented !!
, !$
, !^
, and !0
within the shell::job
module. However, it's only supported within statement executions, and not with if statements, for loops, or let assignments. So, I've implemented it in the wrong place.
Solution would be to separate the logic into it's own module, and then integrate the logic at a higher level, in the execute_interactive
method in the shell::binary
module. Each read line should be scanned for designators, expanded, and written to history as if the designator was never used at all.