From af047755b927614834f11a23b756ffe24c5805f7 Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Fri, 14 Sep 2012 05:43:18 -0300 Subject: [PATCH] tools/ant-txt/pick: shell script to pick a message from a file --- tools/ant-txt/pick | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 tools/ant-txt/pick diff --git a/tools/ant-txt/pick b/tools/ant-txt/pick new file mode 100755 index 0000000..ba6dd64 --- /dev/null +++ b/tools/ant-txt/pick @@ -0,0 +1,60 @@ +#!/bin/sh +# +# tools/ant-txt/pick - Run ant-txt on a message selected by number +# +# Written 2012 by Werner Almesberger +# Copyright 2012 Werner Almesberger +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# + +# +# File format (on stdin): +# +# - message blocks are separated by one or more empty lines +# - lines beginning with # are ignored before or after a message block +# (or between empty lines) +# +# Message blocks are selected by number. The first block is 1. +# +# + +opt= +if [ "${1#-}" != "$1" ]; then + opt=$1 + shift +fi + +sel=$1 +skip=true +n=0 +while read s; do + [ "$s" = "${s#\#}" ] || continue + if [ ! "$s" ]; then + skip=true + continue + fi + $skip && n=`expr $n + 1` + skip=false + [ "$sel" ] || continue + [ $sel = $n ] && break +done + +if [ ! "$sel" ]; then + echo $n + exit +fi + +msg= +while true; do + msg="$msg '$s'" + read t || break + [ -z "$t" -o "$t" != "${t#\#}" ] && break + s=$t +done + +dir=${0%/*} +eval $dir/ant-txt $opt -F $dir/../fonts $msg