#!/usr/bin/env sh # invoking t starts the task shell # passing arguments along passes them straight through to taskwarrior instead t() { # check for existence of tasksh before doing this whole song and dance if type tasksh >/dev/null 2>&1 && [ "$#" -eq 0 ]; then tasksh else task "$@" fi } # copy the `task` zsh completions over to my little alias 😉 # this is not very pretty and not super portable (needs ps) but # works for now. from here: https://unix.stackexchange.com/a/72564/414758 if [ "$(ps -p $$ -o comm --no-headers)" = "zsh" ]; then compdef t=task; fi # Make taskopen XDG conforming. If changing here, also change in taskrc alias. alias taskopen='taskopen --config=${XDG_CONFIG_HOME:-~/.config}/task/taskopenrc' alias ta="task add" alias tal="task log" alias tan="task annotate" alias tn="task next +READY" alias tun="task next urgency \> 4" alias tra="task active" alias trw="task end.after:today-1wk completed" alias to="task open"