mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-01 06:53:39 +08:00
a03a4d1ba3
darcs-hash:20070412115221-ac50b-0ff23d6e2158522d10c7e799dc9f1594112f1869.gz
32 lines
602 B
Fish
32 lines
602 B
Fish
|
|
function alias --description "Legacy function for creating shellscript functions using an alias-like syntax"
|
|
|
|
if count $argv >/dev/null
|
|
switch $argv[1]
|
|
case -h --h --he --hel --help
|
|
__fish_print_help alias
|
|
return 0
|
|
end
|
|
end
|
|
|
|
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\n") alias (count $argv)
|
|
return 1
|
|
end
|
|
|
|
eval "function $name; $body \$argv; end"
|
|
end
|