feat(tasko): new tasko plugin

This commit is contained in:
Sinan Kanidagli 2024-04-04 21:15:44 +03:00
commit b2f437b21a
2 changed files with 49 additions and 0 deletions

11
plugins/tasko/README.md Normal file
View file

@ -0,0 +1,11 @@
# TaskWarrior Plugin
Open annotation content with native open commands (xdg-open or open)
To use it add `tasko` to the plugins array in your zshrc file:
```zsh
plugins=(... tasko)
```
**Note:** you have to [install taskwarrior](https://github.com/GothenburgBitFactory/taskwarrior) first.

View file

@ -0,0 +1,38 @@
function _tasko_print_help() {
echo
echo "Usage: tasko {TASK} {ROW}"
echo
}
function tasko () {
if [[ $# -ne 2 ]]; then
echo 'Error: Too many/few arguments, expecting two.' >&2
tasko_print_help
return 1
fi
local annotation_desc=$(task _get $1.annotations.$2.description 2>/dev/null)
if [[ $? -ne 0 ]]; then
echo "Error: Task or row not found." >&2
return 1
fi
if [[ $annotation_desc == "" ]]; then
echo "Error: No text found" >&2
return 1
fi
echo "Open $annotation_desc? [y/n]"
read answer
if [[ $answer == y* ]] || [[ $answer == Y* ]]; then
if [[ $(uname -s) == "Linux" ]]; then
xdg-open $annotation_desc
return 0
else
open $annotation_desc
return 0
fi
return 1
fi
return 0
}