mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-26 19:03:38 +08:00
7492b6cdb3
darcs-hash:20070116012918-ac50b-c1c0df64333ad910ca81dbc86ad193ece6680722.gz
32 lines
600 B
Fish
32 lines
600 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") alias (count $argv)
|
|
return 1
|
|
end
|
|
|
|
eval "function $name; $body \$argv; end"
|
|
end
|