mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-23 22:17:52 +08:00
59197d12e0
Thanks to @floam, adapted to reduce nesting.
Works around override of command-not-found handler in previous solution
(c.f. 13e025bdb0
).
31 lines
1.0 KiB
Fish
31 lines
1.0 KiB
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
|
|
|
|
set -l manpath
|
|
if set -q MANPATH
|
|
set manpath $MANPATH
|
|
else if command -qs manpath
|
|
set manpath (command manpath)
|
|
end
|
|
# Notice local exported copy of the variable.
|
|
set -lx MANPATH $manpath
|
|
|
|
set -l fish_manpath (dirname $__fish_data_dir)/fish/man
|
|
if test -d "$fish_manpath" -a -n "$MANPATH"
|
|
set MANPATH $fish_manpath:$MANPATH
|
|
# Invoke man with this manpath, and we're done.
|
|
command man $argv
|
|
return
|
|
end
|
|
|
|
# If fish's man pages could not be found, just invoke man normally
|
|
command man $argv
|
|
end
|