From ec0c3f349d0b401b67cc0b2304e97e118a735dfb Mon Sep 17 00:00:00 2001 From: Gokul Soumya Date: Sun, 12 Jul 2020 00:49:37 +0530 Subject: [PATCH] Return early if token is empty in whatis_current_token --- .../__fish_whatis_current_token.fish | 57 ++++++++++--------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/share/functions/__fish_whatis_current_token.fish b/share/functions/__fish_whatis_current_token.fish index 31b4a6532..b097fe788 100644 --- a/share/functions/__fish_whatis_current_token.fish +++ b/share/functions/__fish_whatis_current_token.fish @@ -3,39 +3,40 @@ function __fish_whatis_current_token -d "Show man page entries or function description related to the token under the cursor" set -l token (commandline -pt) - if test -n "$token" - printf "\n" - set -l desc "$token: nothing appropriate." + test -n "$token" + or return - set -l tokentype (type --type $token 2>/dev/null) + printf "\n" + set -l desc "$token: nothing appropriate." - switch "$tokentype" - case function - set -l funcinfo (functions $token --details --verbose) + set -l tokentype (type --type $token 2>/dev/null) - test $funcinfo[5] != n/a - and set desc "$token - $funcinfo[5]" + switch "$tokentype" + case function + set -l funcinfo (functions $token --details --verbose) - case builtin - set desc (__fish_print_help $token | awk "/./ {print; exit}") + test $funcinfo[5] != n/a + and set desc "$token - $funcinfo[5]" - case file - set -l tmpdesc (whatis $token 2>/dev/null) - and set desc $tmpdesc - end + case builtin + set desc (__fish_print_help $token | awk "/./ {print; exit}") - printf "%s\n" $desc - - set -l line_count (count (fish_prompt)) - # Ensure line_count is greater than one to accomodate different - # versions of the `seq` command, some of which print the sequence in - # reverse order when the second argument is smaller than the first - if test $line_count -gt 1 - for x in (seq 2 $line_count) - printf "\n" - end - end - - commandline -f repaint + case file + set -l tmpdesc (whatis $token 2>/dev/null) + and set desc $tmpdesc end + + printf "%s\n" $desc + + set -l line_count (count (fish_prompt)) + # Ensure line_count is greater than one to accomodate different + # versions of the `seq` command, some of which print the sequence in + # reverse order when the second argument is smaller than the first + if test $line_count -gt 1 + for x in (seq 2 $line_count) + printf "\n" + end + end + + commandline -f repaint end