Skip to content

A few modifications of the taskfzf repo provided by junegunn.

License

Notifications You must be signed in to change notification settings

petrovag/taskfzf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

A few custom modifications to the following taskfzf provided by junegunn. Modifications include:

  1. Fixing the undo command

  2. Default to add project (rather than just add)

  3. Run a web browser on hyperlinks into annotation

The original README is below.

Taskwarrior fzf interface

An fzf based UI for taskwarrior, implemented as a /bin/sh script.

Install

  1. Link / Copy / Move the file taskfzf from this repo to your $PATH.

  2. Make sure you have fzf 0.19.0 or newer installed.

Usage

Command Line Arguments

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.

Key Bindings

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.

Perform an action over the selected tasks
  • D marks the tasks as done (task do).

  • X Deletes the tasks (task del).

  • U undo the last action performed (task undo).

  • E edits the task in your editor (task edit).

  • A appends a text to the tasks using a shell input (task append).

  • N annotates a text to a task using a shell input (task annotate).

  • M modifies a task using a shell input (task modify).

  • S starts the tasks (task start).

  • P stops 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!
Change the current list of tasks

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:

  • R changes the current `report'' (`task reports).

  • C changes the current context (task contexts).

About

A few modifications of the taskfzf repo provided by junegunn.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 100.0%