Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Pablo Lezaeta 2012-07-17 21:16:35 -04:00
commit fa9d4f5709

51
ponysay
View file

@ -21,13 +21,29 @@ version() {
scrw=`(stty size <&2 || echo 0 0) | cut -d ' ' -f 2`
listcmd="$0list.pl"
haspq=1
if [[ -f './pq4ps-list' ]]; then
function qlist
{ ./pq4ps-list
}
elif [[ -f '/usr/bin/pq4ps-list' ]]; then
function qlist
{ /usr/bin/pq4ps-list
}
else
haspq=0
function qlist
{ cat
}
fi
list() {
echo -e "\\e[01mponyfiles located in $SYSTEMPONIES:\\e[21m"
perl $listcmd $scrw $(ls --color=no $SYSTEMPONIES | sed -e 's/\.pony$//' | sort)
perl $listcmd $scrw $(ls --color=no $SYSTEMPONIES | sed -e 's/\.pony$//' | sort) | qlist
if [[ -d $HOMEPONIES ]]; then
echo -e "\\e[01mponyfiles located in $HOMEPONIES:\\e[21m"
perl $listcmd $scrw $(ls --color=no $HOMEPONIES | sed -e 's/\.pony$//' | sort)
perl $listcmd $scrw $(ls --color=no $HOMEPONIES | sed -e 's/\.pony$//' | sort) | qlist
fi
}
@ -116,7 +132,7 @@ while (\$i < \$argc)
}
EOF
perl $listcmd $scrw $(cat /dev/shm/ponysay~) | sed -e 's/_/ /g'
perl $listcmd $scrw $(cat /dev/shm/ponysay~) | sed -e 's/_/ /g' | qlist
}
linklist() {
@ -140,6 +156,13 @@ Options:
-h Show this help and exit.
-l List pony files.
-L List pony files with synonyms inside brackets.
EOF
if [[ $haspq = 1 ]]; then
cat <<EOF
-q Use the pony quote feature.
EOF
fi
cat <<EOF
-f[name] Select a pony (either a file name or a pony name.)
-W[column] The screen column where the message should be wrapped.
@ -199,7 +222,12 @@ say() {
ponies=()
while getopts f:W:Llhv OPT
opts="f:W:Llhv"
if [[ $haspq ]]; then
opts=$opts"q"
fi
usepq=0
while getopts $opts OPT
do
case ${OPT} in
v) version; exit ;;
@ -208,11 +236,26 @@ do
l) list; exit ;;
L) linklist; exit ;;
W) wrap="$OPTARG" ;;
q) usepq=1 ;;
\?) usage >&2; exit 1 ;;
esac
done
shift $((OPTIND - 1))
if [[ $usepq = 1 ]]; then
if [[ -f './pq4ps' ]]; then
function q
{ ./pq4ps $@
}
elif [[ -f '/usr/bin/pq4ps' ]]; then
function q
{ /usr/bin/pq4ps $@
}
fi
$0 ${wrap:+-W$wrap} $(q "$*")
exit
fi
hash $cmd &>/dev/null; if [ $? -ne 0 ]; then
cat >&2 <<EOF
You don't seem to have the $cmd program.