aboutsummaryrefslogtreecommitdiff
path: root/tasks
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2024-08-20 20:42:35 -0300
committerSilvio Rhatto <rhatto@riseup.net>2024-08-20 20:42:35 -0300
commit3c5c672e47737e6b3342dfeb730ccd8320f2d442 (patch)
treed08d27539f244e640cf1e92ed0f259929fdf5d32 /tasks
downloadutils-organization-3c5c672e47737e6b3342dfeb730ccd8320f2d442.tar.gz
utils-organization-3c5c672e47737e6b3342dfeb730ccd8320f2d442.tar.bz2
Initial import
Diffstat (limited to 'tasks')
-rwxr-xr-xtasks58
1 files changed, 58 insertions, 0 deletions
diff --git a/tasks b/tasks
new file mode 100755
index 0000000..96e4299
--- /dev/null
+++ b/tasks
@@ -0,0 +1,58 @@
+#!/bin/bash
+#
+# A taskwarrior wrapper.
+#
+
+# Basic params
+CONFIG="$HOME/.config/tasks"
+BASENAME="`basename $0`"
+PROJECT="$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"`"
+
+# Check if first param is a project
+if [ ! -z "$PROJECT" ] && cd $PROJECT &> /dev/null || false; then
+ IS_PROJECT="true"
+ shift
+else
+ IS_PROJECT="false"
+fi
+
+# Go back to the previous folder
+cd - &> /dev/null
+
+# Check if project exists
+if [ "$IS_PROJECT" == "true" ]; then
+ cd $PROJECT &> /dev/null || exit 1
+
+ # Get full path
+ CWD="`pwd`"
+
+ # Call taskwarrior
+ if [ -d "$CWD/.task" ]; then
+ task rc.data.location=$CWD/.task rc.verbose=nothing $*
+ fi
+else
+ for folder in $FOLDERS; do
+ if [ ! -d "$folder" ]; then
+ continue
+ fi
+
+ find $folder/ -maxdepth $TODO_MAXDEPTH -xtype d -iname '.task' | while read task; do
+ if [ -z "$SILENT" ]; then
+ echo "Tasks from $task:"
+ echo ""
+ fi
+
+ task rc.data.location=$task rc.verbose=nothing $*
+ done
+ done
+fi