diff --git a/share/functions/alias.fish b/share/functions/alias.fish new file mode 100644 index 000000000..f07727959 --- /dev/null +++ b/share/functions/alias.fish @@ -0,0 +1,22 @@ + +function alias -d (_ "Legacy function for creating shellscript functions using an alias-like syntax") + set -l name + set -l body + switch (count $argv) + + case 1 + set -l tmp (echo $argv|sed -e "s/\([^=]\)=/\1\n/") + set name $tmp[1] + set body $tmp[2] + + case 2 + set name $argv[1] + set body $argv[2] + + case \* + printf ( _ "%s: Expected one or two arguments, got %d") alias (count $argv) + return 1 + end + + eval "function $name; $body \$argv; end" +end