Marty Oehme
e2b82b56f9
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.
19 lines
658 B
Bash
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
|