2006-02-08 18:20:43 +08:00
|
|
|
#
|
|
|
|
# This function is used internally by the fish command completion code
|
|
|
|
#
|
|
|
|
|
2020-02-18 10:13:04 +08:00
|
|
|
# Perform this check once at startup rather than on each invocation
|
|
|
|
if not type -q apropos
|
|
|
|
function __fish_describe_command
|
|
|
|
end
|
|
|
|
exit
|
|
|
|
end
|
|
|
|
|
2006-02-08 18:20:43 +08:00
|
|
|
function __fish_describe_command -d "Command used to find descriptions for commands"
|
2020-02-18 08:23:56 +08:00
|
|
|
# $argv will be inserted directly into the awk regex, so it must be escaped
|
2021-03-10 14:17:23 +08:00
|
|
|
set -l argv_regex (string escape --style=regex -- "$argv")
|
2020-10-01 21:04:11 +08:00
|
|
|
__fish_apropos $argv 2>/dev/null | awk -v FS=" +- +" '{
|
2019-04-20 02:57:45 +08:00
|
|
|
split($1, names, ", ");
|
|
|
|
for (name in names)
|
2020-05-01 02:09:46 +08:00
|
|
|
if (names[name] ~ /^'"$argv_regex"'.* *\([18]\)/ ) {
|
2019-04-20 02:57:45 +08:00
|
|
|
sub( "( |\t)*\\\([18]\\\)", "", names[name] );
|
|
|
|
sub( " \\\[.*\\\]", "", names[name] );
|
|
|
|
print names[name] "\t" $2;
|
|
|
|
}
|
|
|
|
}'
|
2006-02-08 18:20:43 +08:00
|
|
|
end
|