dotfiles/taskwarrior/.config/sh/alias.d/taskwarrior.sh
Marty Oehme e2b82b56f9
taskwarrior: Add contexts, Fix completions
Fixed the completions for the `t` alias that takes over task
functionality on the shell. Only works on zsh, and presumably not on
every system since it relies on some ps trickery to find out the
currently running shell. Maybe there's a better version out there
somewhere...

Added basic distinction into work/personal contexts, since, with my
current job having a complex enough task list I want that either not
cluttering up my enjoyable tasks, or *only* that cluttering up all my
tasks.
2021-03-27 22:15:45 +01:00

19 lines
658 B
Bash

#!/usr/bin/env sh
alias taskopen='taskopen -c ${XDG_DATA_HOME}/task/notes'
# 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