]> git.rmz.io Git - dotfiles.git/blobdiff - zsh/lib/50-taskwarrior.zsh
zsh: rnr function to add a task to read-and-review urls
[dotfiles.git] / zsh / lib / 50-taskwarrior.zsh
index 92f56bb41c4b58f37065f9707f24a8e15022cfe7..fc5b0c394cf3a3f50f9fb7caaa840b91b9a07f42 100644 (file)
@@ -2,14 +2,18 @@ if (( ! $+commands[task] )); then
     return 1
 fi
 
-alias t="noglob task"
+alias task="noglob task"
+alias t="task"
 alias tt="task today"
-alias tlatest="t +LATEST"
-alias in="noglob task add +in"
+
+alias in="task add +in"
 alias inn="in rc.context=none"
+
 alias tw="task context wfh"
 alias th="task context home"
 
+alias tlatest="t +LATEST"
+
 autoload -Uz task-quote-magic
 zle -N self-insert task-quote-magic
 
@@ -19,6 +23,7 @@ function tparent() {
 }
 
 function tick() {
+    # TODO: have duration as an option to allow multiple filter
     if (( # < 1 || # > 2)); then
         print >&2 "Usage: $0 <filter> [duration]"
         return 1
@@ -26,6 +31,24 @@ function tick() {
     task $1 mod wait:${2:-1h}
 }
 
+function turg() {
+    local context=$(task _get rc.context)
+    local context_read=$(task _get rc.context.$context.read)
+    local urg_task=$(task +READY $context_read _urgency | sort -k4 -n | tail -1 | cut -d" " -f2)
+    task $urg_task $@
+}
+
+function rnr() {
+    # Taken from https://cs-syd.eu/posts/2015-07-05-gtd-with-taskwarrior-part-4-processing
+    local link="$1"
+    title=$(curl --silent "$link" | htmlq --text title)
+    descr="'$title'"
+    task add +in +rnr $descr
+    task +LATEST annotate "$link"
+}
+
+# TODO: function to show the latest report
+
 function task_today_list() {
   local task_cmd=(task rc.verbose:nothing)
   local task_count=$($task_cmd $($task_cmd _get rc.report.today.filter) count)