Skip to main content

Taskwarrior

What

Display Taskwarrior task data for configurable commands. Each named command runs task with the specified arguments and exposes the raw output in the template.

Sample Configuration

{
"type": "taskwarrior",
"style": "powerline",
"powerline_symbol": "",
"foreground": "#193549",
"background": "#ffeb3b",
"template": "  {{ range $k, $v := .Commands }}{{ $k }}:{{ $v }} {{ end }}",
"options": {
"commands": {
"due": "+PENDING due.before:tomorrow count",
"scheduled": "+PENDING scheduled.before:tomorrow count",
"waiting": "+WAITING count",
"context": "_get rc.context"
}
}
}

Options

NameTypeDefaultDescription
commandstringtaskthe Taskwarrior executable to use
commandsmap[string]stringsee belowmap of name to Taskwarrior arguments; the raw output is exposed in .Commands

Default commands value

{
"due": "+PENDING due.before:tomorrow count",
"scheduled": "+PENDING scheduled.before:tomorrow count",
"waiting": "+WAITING count",
"context": "_get rc.context"
}

Each entry runs task <arguments> and stores the trimmed stdout as a string. Remove entries you do not need to keep prompt rendering fast.

Template (info)

default template
{{ "\uf4a0" }} {{ range $k, $v := .Commands }}{{ $k }}:{{ $v }} {{ end }}

Properties

NameTypeDescription
.Commandsmap[string]stringraw command output keyed by name with the first letter uppercased (e.g. "Due")

Examples

Access a specific command result directly:

{{ "\uf4a0" }} Due: {{ .Commands.Due }}

Display multiple results:

{{ "\uf4a0" }} Due: {{ .Commands.Due }} | Waiting: {{ .Commands.Waiting }}

Include the active context alongside task counts:

{{ "\uf4a0" }} {{ .Commands.Context }} - Due: {{ .Commands.Due }} Scheduled: {{ .Commands.Scheduled }}