Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 23:42:27 +0200] rev 104
Streamline %cmd_map
%cmd_map was previously a hash containing:
{
real_function => alias_function,
...
}
Now the structure of the hash is:
{
alias_or_real_func => [ real_func/if_any, autocompleter_func ],
...
}
This allows for a more streamlined definition of commands and aliases,
and makes it possible to keep all data in %cmd_map instead of having
additional special cases.
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 22:38:38 +0200] rev 103
Improve 'help' command
POD documentation has been modified to list available shell commands using =head2
instead of =item.
This, combined with run_help() modified to accept arguments, allows one to use
'help <command name>' to get help for a specific command, similar/equal to getting
help for shell builtins in regular shells.
E.g.:
help cat
help list
Davor Ocelic <docelic@crystallabs.io> [Sun, 28 Apr 2019 22:11:46 +0200] rev 102
Fix precedence of command line arguments
Previously, when autogenerating the config file, the name of config
itself was included in the YAML contents.
This in turn caused the config file to be re-parsed again and any
command line arguments were overwritten with values from the config
file.
Now the name of config file is not dumped if it is equal to the file
being written, and the config file is not reparsed if it is the same
file.