X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/0ef567e0af310a906fedede267c1d03d7bba63fa..50170249933c1fefb395c254505affe6b3e8a591:/.zsh/zshrc/parts.d/50-taskwarrior

diff --git a/.zsh/zshrc/parts.d/50-taskwarrior b/.zsh/zshrc/parts.d/50-taskwarrior
index abcd09c..665f854 100644
--- a/.zsh/zshrc/parts.d/50-taskwarrior
+++ b/.zsh/zshrc/parts.d/50-taskwarrior
@@ -23,18 +23,29 @@ if whence task >/dev/null; then
     eval task $spec $cmd $args
   }
 
-  alias t\?='alias -rm t t[-+a-z] | sed s,_,,'
+  function task_postpone() {
+    local args
+    for i in scheduled due until wait; do
+      if [[ -n "$(eval task _get "$1"."$i")" ]]; then
+        args="${args:+$args }${i}:${i}+$2"
+      fi
+    done
+    eval task "$1" modify $args
+  }
+
+  alias t\?='alias -rm t t[-+a-z] | sed -r "s,_ ?, ,"'
   alias ta='task_ add'
   alias tc='task_ call'
   alias th='task_ attach'
   alias tl='task_ all'
-  alias ty='task_ next rc.recurrence=on >/dev/null && _mytask sync'
+  alias ty='task_ next rc.recurrence=on >/dev/null && task_ sync'
   alias td='task_ done'
   alias te='task_ edit'
   alias tu='task_ undo'
   alias tm='task_ modify'
   alias ts='task_ start'
   alias tw='task_ waiting'
+  alias tp='task_postpone'
   alias t+='task_ annotate'
   alias t='task_ ""'