2018-11-17 22:03:45 -06:00
|
|
|
if not command -qs man
|
|
|
|
# see #5329 and discussion at https://github.com/fish-shell/fish-shell/commit/13e025bdb01cc4dd08463ec497a0a3495873702f
|
|
|
|
exit
|
|
|
|
end
|
|
|
|
|
2013-02-01 17:11:22 -08:00
|
|
|
function man --description "Format and display the on-line manual pages"
|
2016-11-27 21:27:22 -08:00
|
|
|
# Work around the "builtin" manpage that everything symlinks to,
|
|
|
|
# by prepending our fish datadir to man. This also ensures that man gives fish's
|
2018-11-27 12:17:18 -07:00
|
|
|
# man pages priority, without having to put fish's bin directories first in $PATH.
|
2015-10-09 21:01:59 +08:00
|
|
|
|
2018-11-27 12:17:18 -07:00
|
|
|
# Preserve the existing MANPATH, and default to the system path (the empty string).
|
2017-07-04 13:43:06 -07:00
|
|
|
set -l manpath
|
|
|
|
if set -q MANPATH
|
|
|
|
set manpath $MANPATH
|
2019-02-14 10:55:41 +01:00
|
|
|
else if set -l p (command man -p 2>/dev/null)
|
|
|
|
# NetBSD's man uses "-p" to print the path.
|
|
|
|
# FreeBSD's man also has a "-p" option, but that requires an argument.
|
|
|
|
# Other mans (men?) don't seem to have it.
|
|
|
|
#
|
|
|
|
# Unfortunately NetBSD prints things like "/usr/share/man/man1",
|
|
|
|
# while not allowing them as $MANPATH components.
|
|
|
|
# What it needs is just "/usr/share/man".
|
|
|
|
#
|
|
|
|
# So we strip the last component.
|
|
|
|
# This leaves a few wrong directories, but that should be harmless.
|
|
|
|
set manpath (string replace -r '[^/]+$' '' $p)
|
2018-11-27 12:17:18 -07:00
|
|
|
else
|
|
|
|
set manpath ''
|
2016-11-27 21:27:22 -08:00
|
|
|
end
|
2018-11-27 12:17:18 -07:00
|
|
|
# Notice the shadowing local exported copy of the variable.
|
2017-07-04 13:43:06 -07:00
|
|
|
set -lx MANPATH $manpath
|
|
|
|
|
2018-11-27 12:17:18 -07:00
|
|
|
# Prepend fish's man directory if available.
|
2018-11-29 20:28:29 +01:00
|
|
|
set -l fish_manpath (dirname $__fish_data_dir)/fish/man
|
2018-11-27 12:17:18 -07:00
|
|
|
if test -d $fish_manpath
|
|
|
|
set MANPATH $fish_manpath $MANPATH
|
2016-11-27 21:27:22 -08:00
|
|
|
end
|
|
|
|
|
|
|
|
command man $argv
|
2013-02-01 17:11:22 -08:00
|
|
|
end
|