fixed todo count bug
authorrjorgenson <rjorgenson@gmail.com>
Wed, 29 Jun 2011 08:27:24 +0000 (01:27 -0700)
committerrjorgenson <rjorgenson@gmail.com>
Wed, 29 Jun 2011 08:27:24 +0000 (01:27 -0700)
todo module would still show up if todo.txt was installed but not
used with a blank value. Added a sanity check to make sure we actally
get a number back from todo.txt and do nothing if we dont

themes/rjorgenson/rjorgenson.theme.bash

index 1d4c261..c6dfe6e 100644 (file)
@@ -43,11 +43,18 @@ is_vim_shell() {
         fi
 }
 
+function is_integer() { # helper function for todo-txt-count
+    [ "$1" -eq "$1" ] > /dev/null 2>&1
+        return $?
+}
+
 todo_txt_count() {
-       if `hash todo.sh 2>&-`; then
-               count=`todo.sh ls | egrep "TODO: [0-9]+ of ([0-9]+) tasks shown" | awk '{ print $4 }'`
-               echo "$BRACKET_COLOR[${STRING_COLOR}T:$count$BRACKET_COLOR]$normal"
-       fi
+    if `hash todo.sh 2>&-`; then # is todo.sh installed
+        count=`todo.sh ls | egrep "TODO: [0-9]+ of ([0-9]+) tasks shown" | awk '{ print $4 }'`
+        if is_integer $count; then # did we get a sane answer back
+            echo "$BRACKET_COLOR[${STRING_COLOR}T:$count$BRACKET_COLOR]$normal"
+        fi
+    fi
 }
 
 modern_scm_prompt() {