commit - b922200e0e347dfefce48245e3346837c9c50749
commit + dd11df30322db3ff2a58d7118c26ec048481f2fc
blob - ecb9a3aa47699b9fa699bbab1265c40bebb0acd4
blob + 22f4b37d3d045fdbbc8d916bc3bed53d0c21abff
--- readman
+++ readman
#!/bin/sh
aflag=false
dflag=false
+rflag=false
progname=${0##*/}
men=$HOME/.manread
usage() {
echo "usage: ${progname} [-d]" 1>&2
- echo " ${progname} [-d] section" 1>&2
+ echo " ${progname} [-d|-r] section" 1>&2
echo " ${progname} [-a|-d] section mantitle" 1>&2
return 1
}
trap cleanup EXIT
trap exit HUP INT TERM
-while getopts ad arg; do
+while getopts adr arg; do
case ${arg} in
a) aflag=true;;
d) dflag=true;;
+ r) rflag=true;;
?) usage;;
esac
done
allmen=$(echo 'mkstemp(/tmp/readman.XXXXXXXXXX)' | m4)
case $# in
0)
- if $aflag; then
+ if $aflag || $rflag; then
usage
elif $dflag; then
prompt 'Do you really want to delete all your stats?' && :>"$men"
if $aflag || ! issec "$sec"; then
usage
- elif $dflag && prompt "Do you really want to delete all stats for section ${sec}?"; then
- printf 'g/%s/d\nwq\n' "$sec" | ed - "$men"
+ elif $dflag; then
+ $rflag && usage
+ prompt "Do you really want to delete all stats for section ${sec}?" &&
+ printf 'g/%s/d\nwq\n' "$sec" | ed - "$men"
else
secstats "$sec"
[ "$nchanged" -gt 0 ] && echo "* to reread: $(diffmen "$sec" | tr '\n' ' ')"
man -ws "$1" -k . | awk -F/ '{ split($NF, a, /\.[1-9]/); print a[1] }' >"$allmen"
[ "$nread" -gt 0 ] &&
echo "* have read: $(comm -12 "$mymen" "$allmen" | tr '\n' ' ')"
- echo "* to read: $(comm -13 "$mymen" "$allmen" | tr '\n' ' ')"
+ $rflag || echo "* to read: $(comm -13 "$mymen" "$allmen" | tr '\n' ' ')"
fi
;;
2)
page=$2
mantitle="${page}(${sec})"
- if ! issec "$sec"; then
+ if $rflag || ! issec "$sec"; then
usage
elif ! manpath=$(man -w "$sec" "$page" 2>/dev/null); then
err "man page ${mantitle} doesn't exist!"