X-Git-Url: https://piware.de/gitweb/?p=bin.git;a=blobdiff_plain;f=shellpresent;h=b0758f79f7ec1922d6ed9d0c12f3a41eb65533dd;hp=8747d887e62acacf4cbac367f279743d649508c2;hb=d9a6587d6b86ba5a35291a85f84fcda1c2099ba2;hpb=938617421d1789b9dc8482ac397f49d2f0e9f255 diff --git a/shellpresent b/shellpresent index 8747d88..b0758f7 100755 --- a/shellpresent +++ b/shellpresent @@ -7,31 +7,60 @@ # (c) 2009 Martin Pitt # License: Public Domain +NORMAL="" +BOLD=";1" +STATE=$NORMAL + +OFF=0 +RED=31$STATE +GREEN=32$STATE +YELLOW=33$STATE +BLUE=34$STATE +MAGENTA=35$STATE +CYAN=36$STATE + +# Presentation colors +COMMENT=$GREEN +PROMPT=$RED +CMD=$BLUE +OUTPUT=$OFF + +if [ "x$1" = 'x--dark' ]; then + shift || true + STATE=$BOLD + CMD=$YELLOW +fi + [ -e "$1" ] || { - echo "Usage: $0 " >&2 + echo "Usage: $0 [--dark] " >&2 exit 1 } clear +echo -en "\e[${PROMPT}m\$\e[${CMD}m " while read line; do # paragraph clears screen if [ -z "$line" ]; then clear + echo -en "\e[${PROMPT}m\$\e[${CMD}m " continue fi # comment if [ "${line:0:1}" = "#" ]; then if [ -n "${line:1}" ]; then - echo -e "\e[32m$line\e[30m" + echo -e "\r\e[${COMMENT}m$line\e[${CMD}m" + echo -en "\e[${PROMPT}m\$\e[${CMD}m " fi continue fi # execute command - echo -en "\e[31m\$\e[30m $line" + echo -n "$line" read < /dev/tty + echo -ne "\e[${OUTPUT}m" eval "$line" - read < /dev/tty + echo -en "\n\e[${PROMPT}m\$\e[${CMD}m " + read -s < /dev/tty done < "$1"