X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=usr_bin%2Fqma;fp=usr_bin%2Fqma;h=c7944dcc08d8e43c3d088b5884d19872c573b560;hb=c4b59a2c68a05667806d9c65d5654683fbf1b3da;hp=0000000000000000000000000000000000000000;hpb=b97bd72d96fc4dd40e5ab8cd2a66c1975bc13d2f;p=grml-scripts-core.git diff --git a/usr_bin/qma b/usr_bin/qma new file mode 100755 index 0000000..c7944dc --- /dev/null +++ b/usr_bin/qma @@ -0,0 +1,73 @@ +#!/bin/zsh +# Filename: qma +# Purpose: "quick manual access" +# Authors: grml-team (grml.org), (c) Michael Prokop +# Bug-Reports: see http://grml.org/bugs/ +# License: This file is licensed under the GPL v2. +# Latest change: Sam Dez 02 18:40:18 CET 2006 [mika] +################################################################################ + +# Idea for this script and basic functionally by Matthias Kopfermann . + +. /etc/grml/lsb-functions +. /etc/grml/script-functions + +check4progs man lzop vim || exit 1 + +MANDIR=${MANDIR:-$HOME/man} +VERSION='0.1' + +if ! [ -d "$MANDIR" ] ; then + einfo "Creating $MANDIR." + mkdir $MANDIR ; eend $? +fi + +usage() { + eerror "Usage: qma [section] manpage" ; eend 1 + exit 1 +} + +case $1 in + -h*|--h*) + usage + ;; + -v*|--v*) + einfo "qma - version $VERSION" ; eend 0 + exit 0 + ;; + [0-9]) + SECTION="${1}" + SECTIONFILE=".${1}" + MANPAGE="$2" + ;; + *) + SECTION='' + MANPAGE="$1" + ;; +esac + +if [ -z "$MANPAGE" ] ; then + usage +fi + +if ! [ -f "${MANDIR}/${MANPAGE}${SECTIONFILE}.txt.lzo" ] ; then + einfo "Writing manpage to ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt" + if man $SECTION $MANPAGE 1>/dev/null ; then + man $SECTION $MANPAGE > ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt ; eend $? + einfo "Compressing manpage with lzop" + lzop -U ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt.lzo ${MANDIR}/${MANPAGE}${SECTIONFILE}.txt ; eend $? + else + exit 1 + eend 1 + fi +fi + +if [ -n "$SEARCH" ] ; then + vim -c "set ft=man | set hlsearch | set ignorecase" +/"$SEARCH" =( lzop -cd $MANDIR/${MANPAGE}${SECTIONFILE}.txt.lzo) +else + vim -c 'set ft=man' =( lzop -cd $MANDIR/${MANPAGE}${SECTIONFILE}.txt.lzo) +fi + +einfo "Thanks for flying qma using vim and lzop." ; eend 0 + +## END OF FILE #################################################################