fish-shell/share/functions/__fish_man_page.fish
Kon Doumou e44d207d64 sudo keywork is ignored when alt+h is pressed
if `sudo` is in the beggining of the command string, then at alt+h press
the manual of the following command is shown instead.

Fixes https://github.com/fish-shell/fish-shell/issues/5982
2019-10-06 15:12:02 +02:00

31 lines
861 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
#Skip `sudo` and display then manpage of following command
while set -q args[2]
and test $args[1] = "sudo"
set args $args[2..-1]
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]" 2>/dev/null
or man "$maincmd" 2>/dev/null
or printf \a
else
man "$maincmd" 2>/dev/null
or printf \a
end
commandline -f repaint
end