tax, the prompt task list CircleCI

Displays / manages the tasks in ~/tasks.md, or from the file pointed by $TAX_FILE if set.

Tasks are markdown:

```markdown

Things to do

tax is meant to offer basic operations to handle a task list from the CLI, optionally displaying the tasks one at a time on your bash prompt and your tmux status line.

Commands

tax | tax list

Displays the current list of open tasks.

tax current

Displays the first open task of the list.

Meant to be included in prompt or tmux status.

tax cycle

Picks one open task from the list and display it. The picked task changes every minute.

Meant to be included in prompt or tmux status.

tax cat

Alias: tax view.

Displays the content of the taxfile without any processing.

tax check $TASKNUM | tax uncheck $TASKNUM

Checks/Unchecks the task corresponding to the given number $TASK_NUM.

tax focus $TASKNUM | tax blur $TASKNUM

Focuses/Blurs the task corresponding to the given number $TASK_NUM.

A focused task is a bold task in markdown formatting.

Ex:

markdown - [ ] **This is a focused task**

Focused tasks will be displayed with priority over non focused tasks by the tax current and tax cycle commands.

tax add "The task"

Aliases: tax push, tax prepend.

Adds the given task on top of the first task of the list.

tax append "The task"

Appends the given task after the last task of the list.

tax prune

Removes all checked tasks from the task list.

tax edit

Opens the current task file in $EDITOR.

tax which

Tells which tasks file is currently in use. Useful for scripting.

Use

Include in prompt

```sh

Put tax in your $PATH or:

alias tax=/path/to/tax

```

Then, to display the current task in your bash prompt:

```sh export PS1='= $(tax current)

' ```

Replace tax current with tax cycle for the displayed task to change every minute.

Include in tmux status

In your tmux.conf, for instance:

sh set -g status-right '[...your status config...] #(/path/to/tax cycle)'

React to changes

If $TAX_CHANGE_CMD is set in the environment and contains a valid command, tax will execute it as a sh command after every change it makes to your task file.

tax exposes a set of environment variables to $TAX_CHANGE_CMD to provide information about the change.

I use it to version my task file using this command:

sh export TAX_CHANGE_CMD='git -C "$TAX_TAXFILE_FOLDER" commit -am "$TAX_MESSAGE"'

License

See LICENSE.md