* Added script fma (fast manual access, thanks for the idea -
[grml-scripts.git] / usr_bin / fma
1 #!/bin/zsh
2 # Filename:      fma
3 # Purpose:       "fast manual access"
4 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2.
7 # Latest change: Sam Okt 28 00:32:10 CEST 2006 [mika]
8 ################################################################################
9
10 . /etc/grml/lsb-functions
11 . /etc/grml/script-functions
12
13 check4progs man lzop vim || exit 1
14
15 MANDIR=$HOME/man
16
17 if ! [ -d "$MANDIR" ] ; then
18    einfo "Creating $MANDIR."
19    mkdir $MANDIR ; eend $?
20 fi
21
22 case $1 in
23   [0-9])
24     SECTION="${1}"
25     SECTIONFILE=".${1}"
26     MANPAGE="$2"
27     ;;
28   *)
29     SECTION=''
30     MANPAGE="$1"
31     ;;
32 esac
33
34 if [ -z "$MANPAGE" ] ; then
35    eerror "Usage: $0 [section] manpage" ; eend 1
36    exit 1
37 fi
38
39 if ! [ -f "${MANDIR}/${MANPAGE}${SECTIONFILE}.txt.lzo" ] ; then
40    einfo "Writing manpage to ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt"
41    if man $SECTION $MANPAGE 1>/dev/null ; then
42       man $SECTION $MANPAGE > ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt ; eend $?
43       einfo "Compressing manpage with lzop"
44       lzop -o ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt.lzo ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt ; eend $?
45    else
46       exit 1
47       eend 1
48    fi
49 fi
50
51 vim -c 'set ft=man' =( lzop -cd $MANDIR/${MANPAGE}${SECTIONFILE}.txt.lzo)
52
53 einfo "Thanks for flying $0." ; eend 0
54
55 ## END OF FILE #################################################################