aboutsummaryrefslogtreecommitdiff
path: root/todo
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2016-10-13 13:56:42 -0300
committerSilvio Rhatto <rhatto@riseup.net>2016-10-13 13:56:42 -0300
commit40698306d60d6dce21aee7f28ffb05aecf6f66a4 (patch)
tree3a2874d982d6c010e0e9318a62fc43a062b31a57 /todo
parent921fa55edeb7ca05010aa355ff660261e716e9f6 (diff)
downloadscripts-40698306d60d6dce21aee7f28ffb05aecf6f66a4.tar.gz
scripts-40698306d60d6dce21aee7f28ffb05aecf6f66a4.tar.bz2
Adds task list visualizer
Diffstat (limited to 'todo')
-rwxr-xr-xtodo45
1 files changed, 45 insertions, 0 deletions
diff --git a/todo b/todo
new file mode 100755
index 0000000..f5ff50f
--- /dev/null
+++ b/todo
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# Task list visualizer.
+#
+
+# Basic params
+CONFIG="$HOME/.config/todo"
+BASENAME="`basename $0`"
+OPTION="$1"
+
+# Config
+if [ -e "$CONFIG" ] ; then
+ source $CONFIG
+fi
+
+# Custom params
+TODO_MAXDEPTH="2"
+WORKPATH="${WORKPATH:=~/}"
+FOLDERS="`echo $WORKPATH | tr ':' ' ' | sed -e "s|~|$HOME|g"`"
+
+# Iterate
+function todo_find {
+ for folder in $FOLDERS; do
+ find $folder/ -maxdepth $TODO_MAXDEPTH -iname 'todo*'
+ done
+}
+
+function todo_list {
+ todo_find | while read line; do
+ path="`echo $line | sed -e "s|^$HOME|~|"`"
+ delim="====`echo $path | sed -e 's|.|=|g'`"
+ echo ""
+ echo $delim
+ echo In $path:
+ echo $delim
+ echo ""
+ cat $line
+ done
+}
+
+if [ "$OPTION" == "list" ]; then
+ todo_list | less
+else
+ todo_find | sed -e "s|^$HOME|~|"
+fi