taskwarrior
https://www.youtube.com/watch?v=tijnc65soEI&t=54s https://www.youtube.com/watch?v=zl68asL9jZA
Add a task
task add This is a task +this_is_a_tag project:ProjectOne pri:H
Tags are arbitrary words associated with tasks.
Project is a plain-text attribute on the task.
Sub projects can be created with dot notation: project:Home.Kitchen.
Priorities help modify the urgency value. Can be H/M/L.
Edit tasks
task {n} mod -this_is_a_tag
task {n} undo # Undo last edit/annotation
task {n} purge # Completely remove task
Annotations
task {n} annotate This is an annotation. They're timestamped and attached to tasks.
Dates
due date- Do before this date.
task add Example due:2021-04-02
scheduled date- When can I do this?
task add Example scheduled:2021-04-02
wait date- Don't show up in the list before this date.
task add Example wait:2021-04-02
until date- Delete after this date.
task add Example until:2021-04-02
A task can have multiple dates, all of these serve different purposes.
Urgency
Taskwarrior looks at all the metadata available and calculates an "urgency" score. This is a linear weighted expression. Weights can be changed in configuration.
task show | grep urgency
Filters
task <FILTER> <REPORT>
task +school next
task due.after:eom next # Tasks due next month
task due.before:eom next # Tasks due this month
task due.isnt:tod next # Tasks not due today
task due.is:+5d next # Tasks due on the 5th day after today
task due.before:eow next # Tasks due this week
These can be combined
and or xor ! Logical
< <= = == != !== >= > Relational
( ) Precedence
task "due < eom or priority != L" list # Tasks due this month and all low priority tasks
= - Approximate equality - Same day
== - Exact equality - Same day and time
See filters for reports -
task show report.list