convert isatty to use argparse

This commit is contained in:
Kurtis Rader 2017-07-09 16:12:13 -07:00
parent 3c4e3035fd
commit 5cf2a50269

View file

@ -1,30 +1,31 @@
function isatty -d "Tests if a file descriptor is a tty" function isatty -d "Tests if a file descriptor is a tty"
set -l fd 0 set -l options 'h/help'
if count $argv >/dev/null argparse $options -- $argv
switch $argv[1] or return
case -h --h --he --hel --help if set -q _flag_help
__fish_print_help isatty __fish_print_help isatty
return 0 return 0
end
if set -q argv[2]
printf (_ "%s: Too many arguments") isatty >&2
return 1
end
set -l fd
switch "$argv"
case stdin '' case stdin ''
set fd 0 set fd 0
case stdout case stdout
set fd 1 set fd 1
case stderr case stderr
set fd 2 set fd 2
case '*' case '*'
set fd $argv[1] set fd $argv[1]
end
end end
# Use `command test` because `builtin test` doesn't open the regular fd's. # Use `command test` because `builtin test` doesn't open the regular fd's.
# See https://github.com/fish-shell/fish-shell/issues/1228 # See https://github.com/fish-shell/fish-shell/issues/1228
command test -t "$fd" command test -t "$fd"
end end