A few custom modifications to the following taskfzf provided by junegunn. Modifications include:
-
Fixing the undo command
-
Default to add project (rather than just add)
-
Run a web browser on hyperlinks into annotation
The original README is below.
An fzf based UI for
taskwarrior, implemented as a /bin/sh
script.
-
Link / Copy / Move the file
taskfzffrom this repo to your$PATH. -
Make sure you have fzf 0.19.0 or newer installed.
Launching taskfzf, will present you an fzf interface where every
task is a line you can filter out using fzf’s magical search.
Without arguments, you’ll see the list of tasks task would list if
given no arguments.
You can supply a `report'' argument (e.g `ls, list, next..) to
taskfzf as you’d supply task.
Besides that, taskfzf also accepts modifications to your config using
rc. arguments given right before the optional report argument.
taskfzf uses fzf’s
bindings to perform actions over the highlighted task or to change the
list of tasks presented. Since tasks are usually written in lower case
letters, and in order to mitigate key bindings clashes with a parent
program taskfzf may run inside (e.g tmux, Neovim’s :term etc.), I
decided to bind every upper case letter to an action.
Pressing ? prints a summary of all key bindings and their actions but
the lists here explain a bit more.
-
Dmarks the tasks as done (task do). -
XDeletes the tasks (task del). -
Uundo the last action performed (task undo). -
Eedits the task in your editor (task edit). -
Aappends a text to the tasks using a shell input (task append). -
Nannotates a text to a task using a shell input (task annotate). -
Mmodifies a task using a shell input (task modify). -
Sstarts the tasks (task start). -
Pstops the tasks (task stop).
|
Important
|
The script expects all reports to put in their 1st column the task’s number. You will get a warning when trying to perform actions upon a certain task if that’s not the case. Adjust your reports accordingly! |
Each of the following key bindings changes the list of tasks you can
perform an actions upon. taskfzf does so by reprinting the list of
tasks with a different context (rc.context) or with a different
``report''.
Choosing a different context/report is also performed by fzf.
task reports or task contexts supply the list of candidates.
In the tasks view, you can prompt for a different report / context using:
-
Rchanges the current`report'' (`task reports). -
Cchanges the current context (task contexts).