From 03d3b1cc6f45049efc063dc7cfda35567c168713 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 22 May 2018 14:05:10 -0300 Subject: Adds tasks wrapper integrated into todo script --- tasks | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 tasks (limited to 'tasks') diff --git a/tasks b/tasks new file mode 100755 index 0000000..4ab3211 --- /dev/null +++ b/tasks @@ -0,0 +1,57 @@ +#!/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 + +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 -- cgit v1.2.3