]> git.rmz.io Git - dotfiles.git/blobdiff - zsh/lib/prompt.zsh
zsh: add a count of todays taskwarrior tasks to prompt
[dotfiles.git] / zsh / lib / prompt.zsh
index c249210bbaa542c470fd6042971d974a21ac81d0..3ca62a41b4dd5b02c118e7720b64e9fc497eb7e5 100644 (file)
@@ -6,8 +6,8 @@ hostcolor=cyan
 [[ $(hostname) == "tardis" ]]  && hostcolor=red
 
 precmd() {
-  PROMPT='%T $(virtualenv_prompt)%n@%{$fg[$hostcolor]%}%m$(jobs_prompt)%-0>..>$(git_prompt_status)%>>
-%(?..%{$fg_bold[white]%}%?)%{$reset_color%}$(vi_prompt_info)%{%(!.$fg[red]❰.$fg[green]❱)%1G%} '
+  PROMPT=$'%T $(task_today_list)%n@%{$fg[$hostcolor]%}%m$(jobs_prompt)%-0>..>$(git_prompt_status)%>>\n'
+  PROMPT+=$'$(virtualenv_prompt)%(?..%{$fg_bold[white]%}%?)%{$reset_color%}$(vi_prompt_info)%{%(!.$fg[red]❰.$fg[green]❱)%1G%} '
   RPROMPT='%{$fg[green]%}%~%{$reset_color%}'
 }
 
@@ -135,3 +135,13 @@ function print_if_fits() {
   length=${#${(S%%)1//$~zero/}}
   echo "%-$length(l.$1.)"
 }
+
+function task_today_list() {
+  local task_cmd=(task rc.verbose:nothing)
+  local task_count=$($task_cmd $($task_cmd _get rc.report.today.filter) count)
+
+  local task_status=""
+  task_status+="%{$fg_bold[red]%} $task_count "
+  task_status+="%{$reset_color%}"
+  echo $task_status
+}