tazpkg diff modules/help @ rev 822
Add README.devel; introduce libexec for modules; rename modules; support install variables in Makefile.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Sat Jul 25 16:50:18 2015 +0300 (2015-07-25) |
parents | |
children | 2f3580bd8c0c |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/modules/help Sat Jul 25 16:50:18 2015 +0300 1.3 @@ -0,0 +1,95 @@ 1.4 +#!/bin/sh 1.5 +# TazPkg - Tiny autonomous zone packages manager. 1.6 +# TazPkg help system 1.7 + 1.8 +. /lib/libtaz.sh 1.9 + 1.10 +T="${1#-}" 1.11 +DOC='/usr/share/doc/tazpkg/tazpkg.html' 1.12 +QUERY="$T" 1.13 + 1.14 +if [ -z "$T" ]; then 1.15 + tazpkg usage; exit 0 1.16 +fi 1.17 + 1.18 +commands="\ 1.19 +:usage::help,h::activity,log,a::clean-cache,cc::shell::list,l::list-mirror,lm:\ 1.20 +:list-config::search,s::search-pkgname,sp::search-file,sf::get,g::install,i:\ 1.21 +:get-install,gi::install-list,get-install-list::remove,r::reconfigure::link:\ 1.22 +:set-release::add-flavor,install-flavor::info::desc,d::list-files,lf:\ 1.23 +:block,b,unblock,u,chblock::check::bugs::depends,rdepends::extract,e::pack:\ 1.24 +:repack::repack-config::recompress::convert,c::list-suggested::recharge:\ 1.25 +:upgrade,up::setup-mirror,sm::add-undigest,setup-undigest::list-undigest:\ 1.26 +:remove-undigest:" 1.27 + 1.28 +if [ ! $(echo $commands | grep -e "[:,]$T[:,]") ]; then 1.29 + try1=$(echo $commands | grep -oe ":[^:]*$T[^:]*:") 1.30 + if [ -z "$try1" ]; then 1.31 + _ 'Sorry, no help for "%s"' "$QUERY"; newline; exit 0 1.32 + fi 1.33 + 1.34 + try2=$(echo "$try1" | tr -d : ) 1.35 + 1.36 + trynum=$(echo "$try2" | wc -l) 1.37 + if [ "$trynum" -ne 1 ]; then 1.38 + _p '%d help topic available:' '%d help topics available:' "$trynum" \ 1.39 + "$trynum"; newline 1.40 + echo "$try2" | sed 's|^| * &|; s| ,| |; s|,|, |g' 1.41 + exit 0 1.42 + else 1.43 + T="${try2%%,*}" 1.44 + fi 1.45 +else 1.46 + try3=$(echo $commands | grep -oe "[:,]$T[:,]") 1.47 + case $try3 in 1.48 + :*) try4="$try3";; 1.49 + ,*) try4=$(echo $commands | grep -oe ":[^:]*$try3" | cut -d, -f1);; 1.50 + esac 1.51 + 1.52 + T=$(echo $try4 | tr -d ':,') 1.53 +fi 1.54 + 1.55 +title=$(echo $commands | grep -oe ":$T\(,[^:]*\)*:" | tr -d : | sed 's|,|, |g') 1.56 + 1.57 + 1.58 +# style: <h3 id="TOPIC"> 1.59 +HLP=$(sed "/id=\"$T\"/,/<h3/!d; /<h3/d; /<\/h3/d; /<h2/,\$d" $DOC) 1.60 +if [ -z "$HLP" ]; then 1.61 + # style: <a name="TOPIC"></a> 1.62 + HLP=$(sed "/name=\"$T\"/,/name=/!d; /name=/d; /<h3/d; /<h2/,\$d" $DOC) 1.63 +fi 1.64 + 1.65 +if [ -z "$HLP" ]; then 1.66 + _ 'Sorry, no help for "%s"' "$QUERY" 1.67 + exit 0 1.68 +fi 1.69 + 1.70 +PRE=$(echo "$HLP" | sed "/^$/d; /<pre>/,/<\/pre\>/{s|.*| &|; s| |·|g}; \ 1.71 + s|^ </*pre>$||; s|<pre>||; s|</pre>||; s| ·#| #|;" | tr '\n' ' ' | \ 1.72 + sed '/^[ ]*$/d' | \ 1.73 + sed 's|[ ][ ]*| |g;' | \ 1.74 + sed 's|[ ]*<dl>|O\n|g; s|[ ]*</dl>|L\n|g; s|[ ]*</*dt>||g;' | \ 1.75 + sed 's|[ ]*<dd>| |g; s|</dd>|\n|g;' | \ 1.76 + sed 's|<h4>|<b>|g; s|</h4>|</b>\n|g' | \ 1.77 + sed 's|[ ]*<p>[ ]*||g; s|[ ]*</p>|\n \n|g; s| |\n |g' | \ 1.78 + sed 's|<a [^>]*>||g; s|</a>||g; s|·| |g' | \ 1.79 + sed 's|</*nobr>||g; s|­||g; s|^[ ]*||' | \ 1.80 + sed '/^$/d' | \ 1.81 + sed 's|<tt>|A|g; s|<code>|A|g; s|<em>|B|g; s|<strong>|B|g; \ 1.82 + s|</tt>|D|g; s|</code>|D|g; s|</em>|D|g; s|</strong>|C|g; \ 1.83 + s|DD|D|g;') 1.84 + 1.85 +OPT=$(echo "$PRE" | sed '/O/,/L/!d; /[OL]/d') 1.86 +OPTLIST=$(optlist "$OPT") 1.87 + 1.88 +OPT0=$(echo "$PRE" | tr '\n' '@') 1.89 +OPTA=$(echo "$OPT" | tr '\n' '@') 1.90 +OPTB=$(echo "$OPTLIST" | tr '\n' '@') 1.91 + 1.92 +PRE2=$(echo "$OPT0" | sed "s|$OPTA|$OPTB|" | tr '@' '\n' | sed '/O/d; s|L||') 1.93 + 1.94 +[ ! -z "$TA" ] && T="$T, $TA" 1.95 + 1.96 +title '$title' 1.97 +emsg "$(longline "$PRE2" | sed 's|A|<c 33>|g; s|B|<c 36>|g; s|C|<b>|g; s|D|</c>|g; ')" 1.98 +newline