diff options
Diffstat (limited to 'exman.sh')
-rw-r--r-- | exman.sh | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/exman.sh b/exman.sh deleted file mode 100644 index 9b6777d..0000000 --- a/exman.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -set -eu - -die() { - echo "$@" >&2 - exit 1 -} - -script=$0 -path=${script%/*} -prefix=${path%/bin} -exman="${prefix}/share/exman" -[ -d "${exman}" ] || exman=$prefix - -system=${1:-} -[ -n "${system}" ] || die 'What system do you want?' -shift - -export MANPATH="${exman}/${system}" -[ -d "${MANPATH}" ] || die "No manuals for ${system}" - -export MANSECT -for sect in "${MANPATH}"/man*/; do - sect=${sect%/} - sect=${sect##*/man} - MANSECT="${MANSECT:-}${MANSECT:+:}${sect}" -done - -# macOS man(1) refuses to search in directories such as "man3p", so do it -# manually here unless there are other flags passed. -hack() { - case "${1:-}" in - (-*) exec man "$@";; - ([0-9]*) MANSECT=$1; shift;; - esac - [ $# -gt 0 ] || die 'What manual page do you want?' - for page in "$@"; do - found=0 - IFS=: - for sect in $MANSECT; do - path="${MANPATH}/man${sect}/${page}" - for ext in ".${sect}" ".${sect}.gz"; do - [ -f "${path}${ext}" ] || continue - man "${path}${ext}" - found=1 - break - done - [ $found -eq 0 ] || break - done - [ $found -ne 0 ] || die "No manual entry for ${page}" - done -} - -if [ "$(uname)" = 'Darwin' ]; then - hack "$@" -else - exec man "$@" -fi |