function isatty -d "Tests if a file descriptor is a tty" set -l fd 0 if count $argv >/dev/null switch $argv[1] case -h --h --he --hel --help __fish_print_help isatty return 0 case stdin '' set fd 0 case stdout set fd 1 case stderr set fd 2 case '*' set fd $argv[1] end end # Use `command test` because `builtin test` doesn't open the regular fd's. # See https://github.com/fish-shell/fish-shell/issues/1228 command test -t "$fd" end