diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2013-02-01 17:11:22 -0800 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2013-02-01 17:11:22 -0800 |
commit | ff7cbab991732fea3c6c744bf6439f797e0c307c (patch) | |
tree | 783bfad812dedd91d5721d63185ac61a91c54d8f /share | |
parent | ad8d68dd4390753901b5e1dae4b4c4b44be7fcea (diff) |
Add man function to promote fish's man pages so it can serve as a suitable replacement for help
Diffstat (limited to 'share')
-rw-r--r-- | share/functions/man.fish | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/share/functions/man.fish b/share/functions/man.fish new file mode 100644 index 00000000..4664a804 --- /dev/null +++ b/share/functions/man.fish @@ -0,0 +1,21 @@ +function man --description "Format and display the on-line manual pages" + # Work around OS X's "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 + # Temporarily set a MANPATH, unless one is set already + if not set -q MANPATH + set -l fish_manpath (dirname $__fish_datadir)/fish/man + if test -d "$fish_manpath" + # Notice local but exported variable + set -lx MANPATH "$fish_manpath":(command man --path) + + # Invoke man with this manpath, and we're done + command man $argv + return + end + end + + # If MANPATH is set explicitly, or fish's man pages could not be found, + # just invoke man normally + command man $argv +end |