Add __fish_whatis helper function/wrapper for whatis

Executes `whatis` safely, returns at most one line, and strips the name
of the command from the start of line, returning a value fit for use as
the description parameter for a completion argument value.
This commit is contained in:
Mahmoud Al-Qudsi 2018-06-27 14:11:57 -05:00
parent 8e49229d8f
commit 948b9d2ab8

View file

@ -0,0 +1,21 @@
# uses `whatis` if available to describe a command
function __fish_whatis
set -l cmd $argv[1]
set -l fallback
if set -q argv[2]
set fallback $argv[2]
end
set -l description (whatis $cmd 2>/dev/null | string replace -r '.*? - ' '')[1]
if not string match -qr -- "$description" "."
printf '%s\n' $description
return 0
else if not string match -q -- "$fallback" ""
printf '%s\n' $fallback
return 0
else
return 1
end
end