There is no reason to forbid subcommands with hyphens, and sometimes
it is just natural have such a command. For instance if the subcommand
wraps an existing command with a hyphen like "apt-get".
So change the regular expression for subcommands accordingly.
# Each line matching this is recognized as a subcommand. The name
# of the subcommand is the first subexpression.
-export gsu_command_regex='^com_\([a-zA-Z_0-9]\+\)()'
+export gsu_command_regex='^com_\([-a-zA-Z_0-9]\+\)()'
_gsu_available_commands()
{