mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-18 12:33:38 +08:00
f9835b5077
This commit adds a feature that after typing "git add" and pressing "alt+h", the manpage for "git-add" instead of "git" would be displayed. The new logic takes the first argument which doesn't start with a dash and tries to display manpage for "command-argument"; it falls back to "man command" it the first try doesn't succeed. Fixes #3618.
25 lines
694 B
Fish
25 lines
694 B
Fish
function __fish_man_page
|
|
# Get all commandline tokens not starting with "-"
|
|
set -l args (commandline -po | string match -rv '^-')
|
|
|
|
# If commandline is empty, exit.
|
|
if not set -q args[1]
|
|
printf \a
|
|
return
|
|
end
|
|
|
|
# If there are at least two tokens not starting with "-", the second one might be a subcommand.
|
|
# Try "man first-second" and fall back to "man first" if that doesn't work out.
|
|
set -l maincmd (basename $args[1])
|
|
if set -q args[2]
|
|
man "$maincmd-$args[2]" ^/dev/null
|
|
or man "$maincmd" ^/dev/null
|
|
or printf \a
|
|
else
|
|
man "$maincmd" ^/dev/null
|
|
or printf \a
|
|
end
|
|
|
|
commandline -f repaint
|
|
end
|