diff options
Diffstat (limited to 'examples/functions/manpage')
-rw-r--r-- | examples/functions/manpage | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/examples/functions/manpage b/examples/functions/manpage deleted file mode 100644 index 60f9aed0..00000000 --- a/examples/functions/manpage +++ /dev/null @@ -1,129 +0,0 @@ -# Written from scratch by Tom Tromey (tromey@cns.caltech.edu) -# -# manpage -- find and print a manual page. -# usage: manpage section name [printing] -# -function manpage () -{ - local i h cmd zot sec - local num="$1" - local page="$2" - local printing="$3" - local mp - - mp="${MANPATH:-/usr/man}" - if [ "$#" -lt 2 ]; then return 1; fi # should print usage - if [ "$num" != "" ]; then - sec="${num%%[a-zA-Z]*}" - else - sec='[168234571lnpo]' - num="$sec" - fi - for i in $(echo "$mp" | tr : ' '); do - if [ ! -d "$i" ]; then continue; fi - file="$i"/man"$sec"/"$page"."$num"* - set $file - file="$1" - if [ -f "$file" ]; then - zot=$(sed 1q "$file") - cmd=${MANROFF:-"nroff -man - | col | cat -s"} - h=${zot##"'"'\"'} - if [ "$h" != "$zot" ]; then - while [ "$h" != "" ]; do - case "$h" in - *e) cmd="${MANEQN:-neqn} | $cmd";; - *r) cmd="refer | $cmd";; - *t) cmd="tbl | $cmd";; - *v) cmd="vgrind | $cmd";; - *) ;; # should print error - esac - h=${h%?} - done - fi - if [ "$printing" != "" ]; then - (cd "$i"; eval "$cmd") < "$file" | ${PAGER:-more} - else - (cd "$i"; eval "$cmd") < "$file" > /tmp/manpage-$$ - ${PAGER:-more} /tmp/manpage-$$ - rm -f /tmp/manpage-$$ - fi - break - fi - done -} - -function whatis_internal () -{ - local j - for j in $(echo "$MANPATH" | tr : ' '); do - if [ -f "$j/whatis" ]; then - eval $2 -i -e "$1" $j/whatis - fi - done -} - -function whatis () -{ - local name=$(basename "$1") - whatis_internal "$name" "grep -w" -} - -function apropos () -{ - whatis_internal "$1" "grep -F" -} - -# Note: "-" and "-t" together not supported. This man could be -# made a lot better, but it does everything I want. -function man () -{ - local PAGER printing mpath MANROFF num - mpath="${MANPATH:-/usr/man}" - while true; do - case "$1" in - -) PAGER=cat - printing= ;; - -t) - MANROFF=${TROFF:-"ptroff -man -t"} - PAGER="${TCAT:-lpr}" - printing=yes ;; - -M) - mpath="$2" - shift;; - *) break;; - esac - shift - done - local MANPATH="$mpath" - case "$1" in - -f | -k) - local g a - if [ "$1" = "-f" ]; then - g="grep -w" - a=$(basename "$2") - else - g="grep -F" - a="$2" - fi - whatis_internal "$a" "$g" - ;; - [0-9npol] | [0-9][a-z]* | new | public | old | local) - if [ "$1" = "new" ]; then - num=n - elif [ "$1" = "public" ]; then - num=p - elif [ "$1" = "old" ]; then - num=o - elif [ "$1" = "local" ]; then - num=l - else - num="$1" - fi - shift - manpage "$num" "$1" "$printing" - ;; - *) - manpage "$num" "$1" "$printing" - ;; - esac -} |