Skip to content
Brett Terpstra edited this page Nov 19, 2021 · 8 revisions

Doing uses TaskPaper @tags for searching and filtering, as well as for time tracking. Just include tags in the text of your entries to make them searchable, sortable, and trackable.

The @done tag is the only tag Doing mandates internally. This is added to an entry when you mark it finished, and the timestamp is included as a tag value in parenthesis, e.g. @done(2021-12-23 05:35). Any tag can have a value, but at present Doing doesn't have any means of querying based on tag values.

Doing can also flag entries. By default it uses @flagged, but this can be changed in the configuration. This tag is added with the doing flag command (or manually included when entering items).

For example, tag a an entry with @coding and @project1 by running doing now @coding a new plugin for @project1, and another entry with doing now @coding some stuff for @project2. Now you can display both entries with doing show @coding, or just show a single project's entries with doing show @project1. All of the display and view commands allow combining tags with AND, OR, or NOT booleans.

You can also use doing tag to add tags to entries retroactively. See doing help tag for details.

Time tracking

Each tag used gets an elapsed time recorded for every entry it appears on (the time between the entry creation and the value of the @done tag). When running display commands, you can use --totals to see the total time tracked for each tag.

doing show --totals outputs something like:

Tag Totals

Filtering

Most commands accept a --tag flag. For example, if you wanted to repeat an entry yesterday tagged @marvelous, you would run doing again --tag marvelous, and the last entry tagged @marvelous would be duplicated as a new entry. Multiple tags can be combined with commas, and you can define the boolean using --bool with and, or, or not.

doing again --tag work,project1 --bool and

doing cancel --tag work,writing --bool or

doing show @work @writing --bool and