diff --git a/run b/run index 8523b23..65807d7 100755 --- a/run +++ b/run @@ -10,18 +10,12 @@ else end function main - alias $run_func_prefix\_default=$run_func_prefix\_help - define_aliases - for command in $argv - set -l last_status $status - test $last_status -gt 0; and exit $last_status - - execute_command $run_func_prefix $command + and execute_command $run_func_prefix $command end - if test -z "$argv" - execute_command $run_func_prefix default + and if test -z "$argv" + execute_command $run_func_prefix end end @@ -31,10 +25,10 @@ function execute_command -a prefix command define_default_functions $prefix - if functions -q $func - $func $args[2] - else if test -z "$command" + if test -z "$command" execute_command $prefix default + else if functions -q $func + $func $args[2] else echo "$prefix command '$command' does not exist" exit 1 @@ -70,6 +64,12 @@ function define_default_functions echo "To see a subcommand group's help menu do `run {command}$run_arg_delimeter""help`" end end + + if not functions -q $prefix\_default + function $prefix\_default -a arg -d 'Alias for help command' + $prefix\_help $arg + end + end end main $argv diff --git a/run.fish b/run.fish index 6f40c78..5d928f2 100644 --- a/run.fish +++ b/run.fish @@ -3,25 +3,21 @@ # Source: https://github.com/mitchell/run.fish ### Config ### -# Top-level configurations, like the argument delimeter and aliases. -# +# Top-level configurations, like the argument delimeter and custom global variables. + set -g run_arg_delimeter ':' -function define_aliases - alias run_default='run_help' - - alias run_i='run_install' - alias run_l='run_lint' - alias run_f='run_format' - alias run_h='run_hello' - alias hello_w='hello_world' -end - - ### Commands ### # Add, edit, and remove commands freely below. # To add a command simply create a function with this naming scheme: {run_func_prefix}_{name}. -# + +function run_default -a arg -d 'Display this help menu' + # This command will run in when you simply execute `run` in this repo. + # The default command is set to help by default. + # So you can omit this from your run.fish if you like that behavior. + run_help $arg +end + function run_install -a bin_path -d 'Install the run script to a bin folder' if test -z "$bin_path" if test -d ~/.local/bin @@ -60,3 +56,7 @@ function run_hello -a command -d 'This is an example of a subgroup of commands' execute_command 'hello' $command # this command comes from the run script end + +function run_fails -d 'This command fails every time' + false +end