mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-29 06:13:20 +00:00
958e46882f
man.fish can be clarified a bit, by removing a superfluous early return. Additionally, performance can be (ever so slightly) improved, by using the empty string to suffix an extra colon when `$MANPATH` is empty, as described in `manpath(1)`. As `man` will internally call `manpath` as it starts, this eliminates a redundancy.
28 lines
982 B
Fish
28 lines
982 B
Fish
if not command -qs man
|
|
# see #5329 and discussion at https://github.com/fish-shell/fish-shell/commit/13e025bdb01cc4dd08463ec497a0a3495873702f
|
|
exit
|
|
end
|
|
|
|
function man --description "Format and display the on-line manual pages"
|
|
# Work around the "builtin" manpage that everything symlinks to,
|
|
# by prepending our fish datadir to man. This also ensures that man gives fish's
|
|
# man pages priority, without having to put fish's bin directories first in $PATH.
|
|
|
|
# Preserve the existing MANPATH, and default to the system path (the empty string).
|
|
set -l manpath
|
|
if set -q MANPATH
|
|
set manpath $MANPATH
|
|
else
|
|
set manpath ''
|
|
end
|
|
# Notice the shadowing local exported copy of the variable.
|
|
set -lx MANPATH $manpath
|
|
|
|
# Prepend fish's man directory if available.
|
|
set -l fish_manpath (dirname $__fish_datadir)/fish/man
|
|
if test -d $fish_manpath
|
|
set MANPATH $fish_manpath $MANPATH
|
|
end
|
|
|
|
command man $argv
|
|
end
|