diff options
Diffstat (limited to 'conf.d/00functions.fish')
| -rw-r--r-- | conf.d/00functions.fish | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/conf.d/00functions.fish b/conf.d/00functions.fish new file mode 100644 index 0000000..f390b29 --- /dev/null +++ b/conf.d/00functions.fish @@ -0,0 +1,36 @@ +function alias_if --description "Alias if a program exists" + if test (count $argv) -lt 2 + return + end + if command -sq $argv[1] + if test (count $argv) -gt 2 + alias $argv[2] "$argv[1] $argv[3..-1]" + else + alias $argv[2] "$argv[1]" + end + end +end + +function alias_if_not --description "Alias if a program doesn't exist" + if test (count $argv) -lt 2 + return + end + if not command -sq $argv[1] + if test (count $argv) -gt 2 + alias $argv[1] "$argv[2] $argv[3..-1]" + else + alias $argv[1] "$argv[2]" + end + end +end + +function find_prog --description "Find one or more programs in \$PATH" + for prog in $argv + for search_path in $PATH + if test -x "$search_path/$prog" + echo -n "$prog" + return + end + end + end +end |
