diff --git a/share/functions/__fish_print_help.fish b/share/functions/__fish_print_help.fish index ff7668912..f968a0b8d 100644 --- a/share/functions/__fish_print_help.fish +++ b/share/functions/__fish_print_help.fish @@ -1,11 +1,4 @@ function __fish_print_help --description "Print help message for the specified fish function or builtin" --argument item - # special support for builtin_help_get() - set -l tty_width 0 - if test "$item" = "--tty-width" - set tty_width $argv[2] - set item $argv[3] - end - if test "$item" = '.' set item source end @@ -17,22 +10,8 @@ function __fish_print_help --description "Print help message for the specified f # Render help output, save output into the variable 'help' set -l help - set -l cols + set -l cols $COLUMNS set -l rLL - if test "$tty_width" -gt 0 - set cols $tty_width - else if command test -t 1 - # We want to simulate `man`'s dynamic line length, because - # defaulting to 80 kind of sucks. - # Note: using `command test` instead of `test` because `test -t 1` - # doesn't seem to work right. - # Note: grab the size from the stdout terminal in case it's somehow - # different than the stdin of fish. - # use fd 3 to copy our stdout because we need to pipe the output of stty - begin - stty size 0<&3 | read __ cols - end 3<&1 - end if test -n "$cols" set cols (math $cols - 4) # leave a bit of space on the right set rLL -rLL=$cols[1]n diff --git a/src/builtin.cpp b/src/builtin.cpp index 62dd4623e..6a7dd487d 100644 --- a/src/builtin.cpp +++ b/src/builtin.cpp @@ -169,12 +169,6 @@ wcstring builtin_help_get(parser_t &parser, io_streams_t &streams, const wchar_t wcstring out; const wcstring name_esc = escape_string(name, 1); wcstring cmd = format_string(L"__fish_print_help %ls", name_esc.c_str()); - if (!streams.out_is_redirected && isatty(STDOUT_FILENO)) { - // since we're using a subshell, __fish_print_help can't tell we're in - // a terminal. Tell it ourselves. - int cols = common_get_width(); - cmd = format_string(L"__fish_print_help --tty-width %d %ls", cols, name_esc.c_str()); - } if (exec_subshell(cmd, lst, false /* don't apply exit status */) >= 0) { for (size_t i = 0; i < lst.size(); i++) { out.append(lst.at(i));