mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-12 21:18:53 +00:00
convert isatty
to use argparse
This commit is contained in:
parent
3c4e3035fd
commit
5cf2a50269
1 changed files with 21 additions and 20 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue