mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-27 05:13:10 +00:00
c887e5dbde
The 'str' variable was apparently mistakenly removed by 49c5f96470
.
Re-add it, and regex-escape it as well.
Allow completing on apropos <TAB> instaed of requiring an initial char.
Use __fish_apropos instead of apropos.
New regex to hopefully work on more platforms.
Explicitly use ^ instead of adding it at __fish_apropos
24 lines
757 B
Fish
24 lines
757 B
Fish
#
|
|
# This function is used internally by the fish command completion code
|
|
#
|
|
|
|
# Perform this check once at startup rather than on each invocation
|
|
if not type -q apropos
|
|
function __fish_describe_command
|
|
end
|
|
exit
|
|
end
|
|
|
|
function __fish_describe_command -d "Command used to find descriptions for commands"
|
|
# $argv will be inserted directly into the awk regex, so it must be escaped
|
|
set -l argv_regex (string escape --style=regex -- "$argv")
|
|
__fish_apropos ^$argv 2>/dev/null | awk -v FS=" +- +" '{
|
|
split($1, names, ", ");
|
|
for (name in names)
|
|
if (names[name] ~ /^'"$argv_regex"'.* *\([18]\)/ ) {
|
|
sub( "( |\t)*\\\([18]\\\)", "", names[name] );
|
|
sub( " \\\[.*\\\]", "", names[name] );
|
|
print names[name] "\t" $2;
|
|
}
|
|
}'
|
|
end
|