Skip to content
Brett Terpstra edited this page Mar 26, 2024 · 38 revisions

Global Options

  • --config_file arg -- Use a specific configuration file. Deprecated, set $DOING_CONFIG instead (default: ~/.config/doing/config.yml)

  • -f|--doing_file arg -- Specify a different doing_file (default: None)

  • --[no-]color -- Colored output

  • --debug -- Verbose output

  • --default -- Answer yes/no menus with default option

  • --help -- Show this message

  • --no -- Answer all yes/no menus with no

  • --[no-]notes -- Output notes if included in the template

  • -p|--[no-]pager -- Use a pager when output is longer than screen

  • -q|--quiet -- Silence info messages

  • --stdout -- Send results report to STDOUT instead of STDERR

  • --version -- Display the program version

  • -x|--noauto -- Exclude auto tags and default tags

  • --yes -- Answer all yes/no menus with yes

Commands

again/resume

Repeat last entry as new entry

This command is designed to allow multiple time intervals to be created for an entry by duplicating it with a new start (and end, eventually) time

doing again

doing resume

Options:

  • -b|--back|--started|--since DATE_STRING -- Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon] (default: None)

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --in SECTION_NAME -- Add new entry to section (default: same section as repeated entry) (default: None)

  • -n|--note TEXT -- Include a note (default: None)

  • -s|--section NAME -- Get last entry from a specific section (default: All)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --val QUERY -- Perform a tag value query ("@done Move entries between sections

Argument can be a section name to move all entries from a section,

or start with an "@" to move entries matching a tag.

Default with no argument moves items from the "Currently" section to Archive.

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -X|--noauto -- Exclude auto tags and default tags

  • --ask -- Prompt for note via multi-line input

  • -e|--editor -- Edit entry with vim

  • -i|--interactive -- Select item to resume from a menu of matching entries

  • --not -- Repeat items that don't match search/tag filters

  • -x|--exact -- Force exact search string matching (case sensitive)

archive/move

doing archive SECTION_OR_TAG

doing move SECTION_OR_TAG

Options:

  • --after DATE_STRING -- Archive entries newer than date (natural language). (default: None)

  • --before DATE_STRING -- Archive entries older than date (natural language). (default: None)

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --from DATE_OR_RANGE -- Date range (natural language) to archive: doing archive --from "1/1/21 to 12/31/21". (default: None)

  • -k|--keep X -- How many items to keep (ignored if archiving by tag or search) (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • -t|--to SECTION_NAME -- Move entries to (default: Archive)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --val QUERY -- Perform a tag value query ("@done Autotag last entry or filtered entries

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • --[no-]label -- Label moved items with @from(SECTION_NAME)

  • --not -- Archive items that don't match search/tag filters

  • -x|--exact -- Force exact search string matching (case sensitive)

autotag

doing autotag

Options:

  • --bool BOOLEAN -- Boolean (AND|OR|NOT) with which to combine multiple tag filters (default: AND)

  • -c|--count COUNT -- How many recent entries to autotag (0 for all) (default: 1)

  • -s|--section SECTION_NAME -- Section (default: All)

  • --search QUERY -- Autotag entries matching search filter, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Autotag the last X entries containing TAG. Separate multiple tags with comma (--tag=tag1,tag2), combine with --bool (default: None)

  • --force -- Don't ask permission to autotag all entries when count is 0

  • -i|--interactive -- Select item(s) to tag from a menu of matching entries

  • -u|--unfinished -- Autotag last entry (or entries) not marked @done

cancel

End last X entries with no time tracked

Adds @done tag without datestamp so no elapsed time is recorded. Alias for doing finish --no-date

doing cancel COUNT

Options:

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • -s|--section NAME -- Section (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --val QUERY -- Perform a tag value query ("@done List recent changes in Doing

Display a formatted list of changes in recent versions. Without flags, displays only the most recent version. Use --lookup or --all for history.

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -a|--archive -- Archive entries

  • -i|--interactive -- Select item(s) to cancel from a menu of matching entries

  • --not -- Cancel items that don't match search/tag filters

  • -u|--unfinished -- Cancel last entry (or entries) not already marked @done

  • -x|--exact -- Force exact search string matching (case sensitive)

changes/changelog

doing changes

doing changelog

Options:

  • -l|--lookup VERSION -- Look up a specific version. Specify versions as "MAJ.MIN.PATCH", MIN and PATCH are optional. Use List available color variables for configuration templates and views

or < to see all changes since or prior to a version. Wildcards (*?) accepted unless using < or >. (default: None)

  • --only TYPES -- Only show changes of type(s), comma-separated (default: changed,new,improved,fixed)

  • -s|--search arg -- Show changelogs matching search terms (uses pattern-based searching). Add slashes to search with regular expressions, e.g. --search "/output.*flag/" (default: None)

  • --sort ORDER -- Sort order (asc/desc) (default: desc)

  • -C|--changes -- Only output changes, no version numbers, headers, or dates

  • -a|--all -- Display all versions

  • -i|--interactive -- Open changelog in interactive viewer

  • -m|--md|--markdown -- Output raw Markdown

  • -p|--[no-]prefix -- Include (CHANGE|NEW|IMPROVED|FIXED) prefix on each line

  • --render -- Force rendered output

colors

doing colors

commands

Enable and disable Doing commands

doing commands

Commands

Enable Doing commands

Run without arguments to select commands from a list.

doing Commands

add/enable [COMMAND [COMMAND...]]

ls/list [QUERY]...

List enabled commands

#Options:

  • -s|--style QUERY -- List style (column, tab, comma, *space) (default: None)

  • -d|--[no-]disabled -- List disabled commands

remove/disable [COMMAND [COMMAND...]]

Disable Doing commands

Generate shell completion scripts for doing

Generates the necessary scripts to add command line completion to various shells,

so typing 'doing' and hitting tab will offer completions of subcommands and their options.

Default Command: add

completion

doing completion

Options:

  • -t|--type arg -- Deprecated, specify shell as argument to subcommand (default: None)

Commands

Generate completion scripts, including custom plugins and command options

Argument specifies which shell to generate for: zsh, bash, fish, all

doing Commands

generate [zsh|bash|fish|all]

#Options:

  • -f|--file PATH -- Alternative file to write output to (default: None) Argument specifies which shell to generate for: zsh, bash, fish, all

  • --stdout -- Output result to STDOUT only

install [zsh|bash|fish]

Install default completion scripts

Argument specifies which shell to install for: zsh, bash, fish, or all

Edit the configuration file or output a value from it

Run without arguments, doing config opens your config.yml in an editor.

If local configurations are found in the path between the current directory

and the root (/), a menu will allow you to select which to open in the editor.

It will use the editor defined in config_editor_app, or one specified with --editor.

Use doing config get to output the configuration to the terminal, and

provide a dot-separated key path to get a specific value. Shows the current value

including keys/overrides set by local configs.

Default Command: generate

config

doing config

Options:

  • -d|--[no-]dump -- DEPRECATED

  • -u|--[no-]update -- DEPRECATED

Commands

Open config file in editor

doing Commands

edit/open

#Options:

  • -a|--app APP_NAME -- Application to use (default: None)

  • -b|--bundle_id BUNDLE_ID -- Application bundle id to use (default: None)

  • -e|--editor EDITOR -- Editor to use (default: None)

  • -x|--default -- Use the config editor defined in ~/.config/doing/config.yml (Sublime Text)

get/dump

Output a key's value

#Options:

  • -o|--output FORMAT -- Format for output (json|yaml|raw) (default: yaml)

list

List configuration paths, including .doingrc files in the current and parent directories

Config files are listed in order of precedence (if there are multiple configs detected). Values defined in the top item in the list will override values in configutations below it.

set

Set a key's value in the config file

#Options:

  • --local -- Force update to .doingrc in the current directory

  • -r|--remove -- Delete specified key

undo

Undo the last change to a config file

update/refresh

Update default config file, adding any missing keys

Add a completed item with @done(date). No argument finishes last entry

Use this command to add an entry after you've already finished it. It will be immediately marked as @done.

You can modify the start and end times of the entry using the --back, --took, and --at flags, making it an easy

way to add entries in post and maintain accurate (albeit manual) time tracking.

Default Command: edit

done/did

doing done [ENTRY]

doing did [ENTRY]

Options:

  • --at|--finished DATE_STRING -- Set finish date to specific date/time (natural langauge parsed, e.g. --at=1:30pm).

    Used with --took, backdates start date (default: None)

  • -b|--back|--started|--since DATE_STRING -- Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon] (default: None)

  • --from TIME_RANGE -- Start and end times as a date/time range doing done --from "1am to 8am". Overrides other date flags. (default: None)

  • -n|--note TEXT -- Include a note (default: None)

  • -s|--section NAME -- Section (default: None)

  • -t|--took|--for INTERVAL -- Set completion date to start date plus interval (XX[mhd] or HH:MM).

    If used without the --back option, the start date will be moved back to allow

    the completion date to be the current time. (default: None)

  • -X|--noauto -- Exclude auto tags and default tags

  • -a|--archive -- Immediately archive the entry

  • --ask -- Prompt for note via multi-line input

  • --[no-]date -- Include date

  • -e|--editor -- Edit entry with vim

  • -r|--remove -- Remove @done tag

  • -u|--unfinished -- Finish last entry not already marked @done

finish

Mark last X entries as @done

Marks the last X entries with a @done tag and current date. Does not alter already completed entries.

doing finish [COUNT]

Options:

  • --at|--finished DATE_STRING -- Set finish date to specific date/time (natural langauge parsed, e.g. --at=1:30pm).

    Used with --took, backdates start date (default: None)

  • -b|--back|--started DATE_STRING -- Backdate completed date to date string [4pm|20m|2h|yesterday noon] (default: None)

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --from TIME_RANGE -- Start and end times as a date/time range doing done --from "1am to 8am". Overrides other date flags. (default: None)

  • -s|--section NAME -- Section (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • -t|--took|--for INTERVAL -- Set completion date to start date plus interval (XX[mhd] or HH:MM).

    If used without the --back option, the start date will be moved back to allow

    the completion date to be the current time. (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --val QUERY -- Perform a tag value query ("@done Search for entries

Search all sections (or limit to a specific sections) for entries matching text or regular expression. Normal strings are fuzzy matched.

To search with regular expressions, single quote the string and surround with slashes: doing search '/m.*?x/'

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -a|--archive -- Archive entries

  • --auto -- Auto-generate finish dates from next entry's start time.

    Automatically generate completion dates 1 minute before next item (in any section) began.
    
    --auto overrides the --date and --back parameters.
    
  • --[no-]date -- Include date

  • -i|--interactive -- Select item(s) to finish from a menu of matching entries

  • --not -- Finish items that don't match search/tag filters

  • -r|--remove -- Remove @done tag

  • -u|--unfinished -- Finish last entry (or entries) not already marked @done

  • --update -- Overwrite existing @done tag with new date

  • -x|--exact -- Force exact search string matching (case sensitive)

grep/search

doing grep SEARCH_PATTERN

doing search SEARCH_PATTERN

Options:

  • --after DATE_STRING -- Search entries newer than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --before DATE_STRING -- Search entries older than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --config_template TEMPLATE_KEY -- Output using a template from configuration (default: default)

  • --from DATE_OR_RANGE -- Date range (natural language) to search, or a single day to filter on.

      To specify a range, use "to": `doing grep --from "monday 8am to friday 5pm"`.
    
      If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
    
      by time of day.
    

(default: None)

  • -o|--output FORMAT -- Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -s|--section NAME -- Section (default: All)

  • --save VIEW_NAME -- Save all current command line options as a new view (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --tag_order DIRECTION -- Tag sort direction (asc|desc) (default: asc)

  • --tag_sort KEY -- Sort tags by (name|time) (default: name)

  • --template TEMPLATE_STRING -- Override output format with a template string containing %placeholders (default: None)

  • --title TITLE -- Title string to be used for output formats that require it (default: None)

  • --val QUERY -- Perform a tag value query ("@done Shows a list of commands or help for one command

Gets help for the application or its commands. Can also list the commands in a way helpful to creating a bash-style completion function

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -d|--delete -- Delete matching entries

  • --[no-]duration -- Show elapsed time on entries without @done tag

  • -e|--editor -- Edit matching entries with vim

  • -h|--[no-]hilite -- Highlight search matches in output. Only affects command line output

  • -i|--interactive -- Display an interactive menu of results to perform further operations

  • --not -- Search items that don't match search/tag filters

  • --only_timed -- Only show items with recorded time intervals

  • -t|--[no-]times -- Show time intervals on @done tasks

  • --totals -- Show time totals at the end of output

  • -x|--exact -- Force exact string matching (case sensitive)

help

doing help command

Options:

  • -c -- List commands one per line, to assist with shell completion

import

Import entries from an external source

Imports entries from other sources. Available plugins: calendar, doing, json, timing

doing import PATH

Options:

  • --after DATE_STRING -- Import entries newer than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --before DATE_STRING -- Import entries older than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --from DATE_OR_RANGE -- Date range (natural language) to import, or a single day to filter on.

      To specify a range, use "to": `doing import --from "monday 8am to friday 5pm"`.
    
      If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
    
      by time of day.
    

(default: None)

  • --prefix PREFIX -- Prefix entries with (default: None)

  • -s|--section NAME -- Target section (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • -t|--tag TAGS -- Tag all imported entries (default: None)

  • --type TYPE -- Import type (calendar|doing|json|timing) (default: doing)

  • --[no-]autotag -- Autotag entries

  • --not -- Import items that don't match search/tag/date filters

  • --only_timed -- Only import items with recorded time intervals

  • --[no-]overlap -- Allow entries that overlap existing times

  • -x|--exact -- Force exact search string matching (case sensitive)

last

Show the last entry, optionally edit

Shows the last entry. Using --search and --tag filters, you can view/edit the last entry matching a filter,

allowing doing last to target historical entries.

doing last

Options:

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --config_template TEMPLATE_KEY -- Output using a template from configuration (default: last)

  • -o|--output FORMAT -- Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -s|--section NAME -- Specify a section (default: All)

  • --save VIEW_NAME -- Save all current command line options as a new view (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --template TEMPLATE_STRING -- Override output format with a template string containing %placeholders (default: None)

  • --title TITLE -- Title string to be used for output formats that require it (default: None)

  • --val QUERY -- Perform a tag value query ("@done Add an item to the Later section

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -d|--delete -- Delete the last entry

  • --[no-]duration -- Show elapsed time if entry is not tagged @done

  • -e|--editor -- Edit entry with vim

  • -h|--[no-]hilite -- Highlight search matches in output. Only affects command line output

  • --not -- Show items that don't match search/tag filters

  • -x|--exact -- Force exact search string matching (case sensitive)

later

doing later ENTRY

Options:

  • -b|--back|--started DATE_STRING -- Backdate start time to date string [4pm|20m|2h|yesterday noon] (default: None)

  • -n|--note TEXT -- Note (default: None)

  • --ask -- Prompt for note via multi-line input

  • -e|--editor -- Edit entry with vim

mark/flag

Mark last entry as flagged

doing mark

doing flag

Options:

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • -c|--count COUNT -- How many recent entries to tag (0 for all) (default: 1)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • -s|--section SECTION_NAME -- Section (default: All)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --val QUERY -- Perform a tag value query ("@done Finish any running @meanwhile tasks and optionally create a new one

The @meanwhile tag allows you to have long-running entries that encompass smaller entries.

This command makes it easy to start and stop these overarching entries. Just run `doing meanwhile Starting work on this

big projectto start a @meanwhile entry, add other entries as you work on the project, then usedoing meanwhile` by

itself to mark the entry as @done.

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -d|--date -- Include current date/time with tag

  • --force -- Don't ask permission to flag all entries when count is 0

  • -i|--interactive -- Select item(s) to flag from a menu of matching entries

  • --not -- Flag items that don't match search/tag filters

  • -r|--remove -- Remove flag

  • -u|--unfinished -- Flag last entry (or entries) not marked @done

  • -x|--exact -- Force exact search string matching (case sensitive)

meanwhile

doing meanwhile [ENTRY]

Options:

  • -b|--back|--started|--since DATE_STRING -- Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon] (default: None)

  • -n|--note TEXT -- Include a note (default: None)

  • -s|--section NAME -- Section (default: None)

  • -X|--noauto -- Exclude auto tags and default tags

  • -a|--archive -- Archive previous @meanwhile entry

  • --ask -- Prompt for note via multi-line input

  • -e|--editor -- Edit entry with vim

note

Add a note to the last entry

If -r is provided with no other arguments, the last note is removed. If new content is specified through arguments or STDIN, any previous note will be replaced with the new one.

Use -e to load the last entry in a text editor where you can append a note.

doing note [NOTE_TEXT]

Options:

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • -s|--section NAME -- Section (default: All)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --val QUERY -- Perform a tag value query ("@done Add an entry

Record what you're starting now, or backdate the start time using natural language.

A parenthetical at the end of the entry will be converted to a note.

Run without arguments to create a new entry interactively.

Run with --editor to create a new entry using vim.

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • --ask -- Prompt for note via multi-line input

  • -e|--editor -- Edit entry with vim

  • -i|--interactive -- Select item for new note from a menu of matching entries

  • --not -- Note items that don't match search/tag filters

  • -r|--remove -- Replace/Remove last entry's note (default append)

  • -x|--exact -- Force exact search string matching (case sensitive)

now/next

doing now ENTRY

doing next ENTRY

Options:

  • -b|--back|--started|--since DATE_STRING -- Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon] (default: None)

  • --from TIME_RANGE -- Set a start and optionally end time as a date range ("from 1pm to 2:30pm"). If an end time is provided, a dated @done tag will be added (default: None)

  • -n|--note TEXT -- Include a note (default: None)

  • -s|--section NAME -- Section (default: None)

  • -X|--noauto -- Exclude auto tags and default tags

  • --ask -- Prompt for note via multi-line input

  • -e|--editor -- Edit entry with vim

  • -f|--finish_last -- Timed entry, marks last entry in section as @done

on

List entries for a date

Date argument can be natural language. "thursday" would be interpreted as "last thursday,"

and "2d" would be interpreted as "two days ago." If you use "to" or "through" between two dates,

it will create a range.

doing on DATE_STRING

Options:

  • --after TIME_STRING -- View entries after specified time (e.g. 8am, 12:30pm, 15:00) (default: None)

  • --before TIME_STRING -- View entries before specified time (e.g. 8am, 12:30pm, 15:00) (default: None)

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --config_template TEMPLATE_KEY -- Output using a template from configuration (default: default)

  • --from TIME_RANGE -- Time range to show doing on --from "12pm to 4pm" (default: None)

  • -o|--output FORMAT -- Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -s|--section NAME -- Section (default: All)

  • --save VIEW_NAME -- Save all current command line options as a new view (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --tag_order DIRECTION -- Tag sort direction (asc|desc) (default: asc)

  • --tag_sort KEY -- Sort tags by (name|time) (default: name)

  • --template TEMPLATE_STRING -- Override output format with a template string containing %placeholders (default: None)

  • --title TITLE -- Title string to be used for output formats that require it (default: None)

  • --val QUERY -- Perform a tag value query ("@done Open the "doing" file in an editor

doing open defaults to using the editors.doing_file setting in ~/.config/doing/config.yml (TaskPaper).

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • --[no-]duration -- Show elapsed time on entries without @done tag

  • --not -- Show items that don't match search/tag filters

  • --only_timed -- Only show items with recorded time intervals

  • -t|--[no-]times -- Show time intervals on @done tasks

  • --totals -- Show time totals at the end of output

  • -x|--exact -- Force exact search string matching (case sensitive)

open

doing open

Options:

  • -a|--app APP_NAME -- Open with app name (default: None)

  • -b|--bundle_id BUNDLE_ID -- Open with app bundle id (default: None)

  • -e|--editor COMMAND -- Open with editor command (e.g. vim, mate) (default: None)

plugins

List installed plugins

Lists available plugins, including user-installed plugins.

Export plugins are available with the --output flag on commands that support it.

Import plugins are available using doing import --type PLUGIN.

doing plugins

Options:

  • -t|--type TYPE -- List plugins of type (import, export) (default: all)

  • -c|--column -- List in single column for completion

recent

List recent entries

doing recent COUNT

Options:

  • --config_template TEMPLATE_KEY -- Output using a template from configuration (default: recent)

  • -o|--output FORMAT -- Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -s|--section NAME -- Section (default: All)

  • --save VIEW_NAME -- Save all current command line options as a new view (default: None)

  • --tag_order DIRECTION -- Tag sort direction (asc|desc) (default: asc)

  • --tag_sort KEY -- Sort tags by (name|time) (default: name)

  • --template TEMPLATE_STRING -- Override output format with a template string containing %placeholders (default: None)

  • --title TITLE -- Title string to be used for output formats that require it (default: None)

  • --[no-]duration -- Show elapsed time on entries without @done tag

  • -i|--interactive -- Select from a menu of matching entries to perform additional operations

  • --only_timed -- Only show items with recorded time intervals

  • -t|--[no-]times -- Show time intervals on @done tasks

  • --totals -- Show time totals at the end of output

redo

Redo an undo command

Shortcut for doing undo -r, reverses the last undo command. Specify a count to redo multiple undos

doing redo COUNT

Options:

  • -f|--file PATH -- Specify alternate doing file (default: None)

  • -i|--[no-]interactive -- Select from an interactive menu

reset/begin

Reset the start time of an entry

Update the start time of the last entry or the last entry matching a tag/search filter.

If no argument is provided, the start time will be reset to the current time.

If a date string is provided as an argument, the start time will be set to the parsed result.

doing reset [DATE_STRING]

doing begin [DATE_STRING]

Options:

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --from TIME_RANGE -- Start and end times as a date/time range doing done --from "1am to 8am".

      Overrides any date argument and disables --resume.
    

(default: None)

  • -s|--section NAME -- Limit search to section (default: All)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • -t|--took|--for INTERVAL -- Set completion date to start date plus interval (XX[mhd] or HH:MM). Disables --resume (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --val QUERY -- Perform a tag value query ("@done Move entries to archive file

As your doing file grows, commands can get slow. Given that your historical data (and your archive section)

probably aren't providing any useful insights a year later, use this command to "rotate" old entries out to an archive

file. You'll still have access to all historical data, but it won't be slowing down daily operation.

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -i|--interactive -- Select from a menu of matching entries

  • -n -- Change start date but do not remove @done (shortcut for --no-resume)

  • --not -- Reset items that don't match search/tag filters

  • -r|--[no-]resume -- Resume entry (remove @done)

  • -x|--exact -- Force exact search string matching (case sensitive)

rotate

doing rotate

Options:

  • --before DATE_STRING -- Rotate entries older than date

    (Flexible date format, e.g. 1/27/2021, 2020-07-19, or Monday 3pm) (default: None)

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • -k|--keep X -- How many items to keep in each section (most recent) (default: None)

  • -s|--section SECTION_NAME -- Section to rotate (default: All)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --val QUERY -- Perform a tag value query ("@done List, add, or remove sections in the Doing file

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • --not -- Rotate items that don't match search/tag filters

  • -x|--exact -- Force exact search string matching (case sensitive)

sections

doing sections

Commands

Add a section

doing Commands

add SECTION_NAME

list

List sections

#Options:

  • -c|--column -- List in single column

remove SECTION_NAME

Remove a section

#Options:

  • -a|--[no-]archive -- Archive entries in section before deleting. --no-archive permanently deletes section contents

Display an interactive menu to perform operations

List all entries and select with typeahead fuzzy matching.

Multiple selections are allowed, hit tab to add the highlighted entry to the

selection, and use ctrl-a to select all visible items. Return processes the

selected entries.

Search in the menu by typing:

sbtrkt fuzzy-match Items that match sbtrk*t

'wild exact-match (quoted) Items that include wild

!fire inverse-exact-match Items that do not include fire

Default Command: list

select

doing select

Options:

  • --after DATE_STRING -- Select entries newer than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --before DATE_STRING -- Select entries older than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --from DATE_OR_RANGE -- Date range (natural language) to select, or a single day to filter on.

      To specify a range, use "to": `doing select --from "monday 8am to friday 5pm"`.
    
      If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
    
      by time of day.
    

(default: None)

  • -m|--move SECTION -- Move selected items to section (default: None)

  • -o|--output FORMAT -- Output entries to format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -q|--query QUERY -- Initial search query for filtering. Matching is fuzzy. For exact matching, start query with a single quote, e.g. --query "'search" (default: None`)

  • -s|--section SECTION -- Select from a specific section (default: None)

  • --save_to FILE -- Save selected entries to file using --output format (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • -t|--tag TAG -- Tag selected entries (default: None)

  • --val QUERY -- Perform a tag value query ("@done List all entries

The argument can be a section name, @tag(s) or both. "pick" or "choose" as an argument will offer a section menu. Run with --menu to get a menu of available tags.

Show tags by passing @tagname arguments. Multiple tags can be combined, and you can specify the boolean used to combine them with --bool (AND|OR|NOT). You can also use @+tagname to require a tag to match, or @-tagname to ignore entries containing tagname. +/- operators require --bool PATTERN (which is the default).

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -a|--archive -- Archive selected items

  • --again|--resume -- Copy selection as a new entry with current time and no @done tag. Only works with single selections. Can be combined with --editor.

  • -c|--cancel -- Cancel selected items (add @done without timestamp)

  • -d|--delete -- Delete selected items

  • -e|--editor -- Edit selected item(s)

  • -f|--finish -- Add @done with current time to selected item(s)

  • --flag -- Add flag to selected item(s)

  • --force -- Perform action without confirmation

  • --[no-]menu -- Use --no-menu to skip the interactive menu. Use with --query to filter items and act on results automatically. Test with --output doing to preview matches

  • --not -- Select items that don't match search/tag filters

  • -r|--remove -- Reverse -c, -f, --flag, and -t (remove instead of adding)

  • -x|--exact -- Force exact search string matching (case sensitive)

show

doing show [SECTION|@TAGS]

Options:

  • -a|--age AGE -- Age (oldest|newest) (default: newest)

  • --after DATE_STRING -- Show entries newer than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --before DATE_STRING -- Show entries older than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • -c|--count MAX -- Max count to show (default: 0)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --config_template TEMPLATE_KEY -- Output using a template from configuration (default: default)

  • --from DATE_OR_RANGE -- Date range (natural language) to show, or a single day to filter on.

      To specify a range, use "to": `doing show --from "monday 8am to friday 5pm"`.
    
      If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
    
      by time of day.
    

(default: None)

  • -o|--output FORMAT -- Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -s|--section NAME -- Only show entries within section (default: None)

  • --save VIEW_NAME -- Save all current command line options as a new view (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --sort ORDER -- Sort order (asc/desc) (default: asc)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --tag_order DIRECTION -- Tag sort direction (asc|desc) (default: asc)

  • --tag_sort KEY -- Sort tags by (name|time) (default: name)

  • --template TEMPLATE_STRING -- Override output format with a template string containing %placeholders (default: None)

  • --title TITLE -- Title string to be used for output formats that require it (default: None)

  • --val QUERY -- Perform a tag value query ("@done List entries since a date

Date argument can be natural language and are always interpreted as being in the past. "thursday" would be interpreted as "last thursday,"

and "2d" would be interpreted as "two days ago."

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • --[no-]duration -- Show elapsed time on entries without @done tag

  • -e|--editor -- Edit matching entries with vim

  • -h|--[no-]hilite -- Highlight search matches in output. Only affects command line output

  • -i|--interactive -- Select from a menu of matching entries to perform additional operations

  • -m|--menu -- Select section or tag to display from a menu

  • --not -- Show items that don't match search/tag filters

  • --only_timed -- Only show items with recorded time intervals

  • -t|--[no-]times -- Show time intervals on @done tasks

  • --totals -- Show time totals at the end of output

  • -x|--exact -- Force exact search string matching (case sensitive)

since

doing since DATE_STRING

Options:

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --config_template TEMPLATE_KEY -- Output using a template from configuration (default: default)

  • -o|--output FORMAT -- Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -s|--section NAME -- Section (default: All)

  • --save VIEW_NAME -- Save all current command line options as a new view (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --tag_order DIRECTION -- Tag sort direction (asc|desc) (default: asc)

  • --tag_sort KEY -- Sort tags by (name|time) (default: name)

  • --template TEMPLATE_STRING -- Override output format with a template string containing %placeholders (default: None)

  • --title TITLE -- Title string to be used for output formats that require it (default: None)

  • --val QUERY -- Perform a tag value query ("@done Add tag(s) to last entry

Add (or remove) tags from the last entry, or from multiple entries (with --count), entries matching a search (with --search), or entries containing another tag (with --tag). When removing tags with -r, wildcards are allowed (* to match multiple characters, ? to match a single character). With --regex, regular expressions will be interpreted instead of wildcards. For all tag removals the match is case insensitive by default, but if the tag search string contains any uppercase letters, the match will become case sensitive automatically. Tag name arguments do not need to be prefixed with @.

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • --[no-]duration -- Show elapsed time on entries without @done tag

  • --not -- Since items that don't match search/tag filters

  • --only_timed -- Only show items with recorded time intervals

  • -t|--[no-]times -- Show time intervals on @done tasks

  • --totals -- Show time totals at the end of output

  • -x|--exact -- Force exact search string matching (case sensitive)

tag

doing tag TAG...

Options:

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • -c|--count COUNT -- How many recent entries to tag (0 for all) (default: 1)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --rename ORIG_TAG -- Replace existing tag with tag argument, wildcards (*,?) allowed, or use with --regex (default: None)

  • -s|--section SECTION_NAME -- Section (default: All)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • -v|--value VALUE -- Include a value, e.g. @tag(value) (default: None)

  • --val QUERY -- Perform a tag value query ("@done Set the default tags for the current directory

Adds default_tags to a .doingrc file in the current directory. Any entry created in this directory or its

subdirectories will be tagged with the default tags. You can modify these any time using the config set command or

manually editing the .doingrc file.

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -a|--autotag -- Autotag entries based on autotag configuration in ~/.config/doing/config.yml

  • -d|--date -- Include current date/time with tag

  • --force -- Don't ask permission to tag all entries when count is 0

  • -i|--interactive -- Select item(s) to tag from a menu of matching entries

  • --not -- Tag items that don't match search/tag filters

  • -r|--remove -- Remove given tag(s)

  • --regex -- Interpret tag string as regular expression (with --remove)

  • -u|--unfinished -- Tag last entry (or entries) not marked @done

  • -x|--exact -- Force exact search string matching (case sensitive)

tag_dir

doing tag_dir TAG [TAG..]

Options:

  • --clear -- Remove all default_tags from the local .doingrc

  • -e|--editor -- Use default editor to edit tag list

  • -r|--remove -- Delete tag(s) from the current list

tags

List all tags in the current Doing file

doing tags [MAX_COUNT]

Options:

  • --bool BOOLEAN -- Boolean used to combine multiple tags (AND|OR|NOT). Use PATTERN to parse + and - as booleans (default: pattern)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • -o|--order ORDER -- Sort order (asc/desc) (default: asc)

  • -s|--section SECTION_NAME -- Section (default: All)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --sort SORT_ORDER -- Sort by name or count (default: name)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --val QUERY -- Perform a tag value query ("@done Output HTML, CSS, and Markdown (ERB) templates for customization

Templates are printed to STDOUT for piping to a file. Save them and use them in the configuration file under export_templates.

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • -c|--[no-]counts -- Show count of occurrences

  • -i|--interactive -- Select items to scan from a menu of matching entries

  • -l|--[no-]line -- Output in a single line with @ symbols. Ignored if --counts is specified.

  • --not -- Show items that don't match search/tag filters

  • -x|--exact -- Force exact search string matching (case sensitive)

template

doing template TYPE

Options:

  • -p|--path DIRECTORY -- Save template to alternate location (default: ~/.config/doing/templates)

  • -c|--[no-]column -- List in single column for completion

  • -l|--list -- List all available templates

  • -s|--save -- Save template to file instead of STDOUT

test

Test Stuff

This command is coming from ~/.config/doing/commands/test.rb

doing test

today

List entries from today

List entries from the current day. Use --before, --after, and

--from to specify time ranges.

doing today

Options:

  • --after TIME_STRING -- View entries after specified time (e.g. 8am, 12:30pm, 15:00) (default: None)

  • --before TIME_STRING -- View entries before specified time (e.g. 8am, 12:30pm, 15:00) (default: None)

  • --config_template TEMPLATE_KEY -- Output using a template from configuration (default: today)

  • --from TIME_RANGE -- Time range to show doing today --from "12pm to 4pm" (default: None)

  • -o|--output FORMAT -- Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -s|--section NAME -- Specify a section (default: All)

  • --save VIEW_NAME -- Save all current command line options as a new view (default: None)

  • --tag_order DIRECTION -- Tag sort direction (asc|desc) (default: asc)

  • --tag_sort KEY -- Sort tags by (name|time) (default: name)

  • --template TEMPLATE_STRING -- Override output format with a template string containing %placeholders (default: None)

  • --title TITLE -- Title string to be used for output formats that require it (default: None)

  • --[no-]duration -- Show elapsed time on entries without @done tag

  • --only_timed -- Only show items with recorded time intervals

  • -t|--[no-]times -- Show time intervals on @done tasks

  • --totals -- Show time totals at the end of output

todo

Add an item as a Todo

Adds an item to a Todo section, and tags it with @todo

doing todo ENTRY

Options:

  • -n|--note TEXT -- Note (default: None)

  • --ask -- Prompt for note via multi-line input

  • -e|--editor -- Edit entry with vim

undo

Undo the last X changes to the Doing file

Reverts the last X commands that altered the doing file.

All changes performed by a single command are undone at once.

Specify a number to jump back multiple revisions, or use --select for an interactive menu.

doing undo COUNT

Options:

  • -f|--file PATH -- Specify alternate doing file (default: None)

  • -p|--prune COUNT -- Remove old backups, retaining X files (default: None)

  • -i|--interactive -- Select from recent backups

  • -r|--[no-]redo -- Redo last undo. Note: you cannot undo a redo

update

Update doing to the latest version

Checks for the latest available version of doing and updates your local install if needed.

doing update

Options:

  • -p|--pre|--beta -- Check for pre-release version

view

Display a user-created view

Views are defined in your configuration (use doing config to edit).

Command line options override view configuration.

doing view VIEW_NAME

Options:

  • --after DATE_STRING -- Show entries newer than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --age AGE -- Age (oldest|newest) (default: None)

  • --before DATE_STRING -- Show entries older than date (natural language). If this is only a time (8am, 1:30pm, 15:00), all dates will be included, but entries will be filtered by time of day (default: None)

  • --bool BOOLEAN -- Boolean used to combine multiple tags. Use PATTERN to parse + and - as booleans (default: None)

  • -c|--count COUNT -- Count to display (default: None)

  • --case TYPE -- Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart] (default: smart)

  • --config_template TEMPLATE_KEY -- Output using a template from configuration (default: None)

  • --from DATE_OR_RANGE -- Date range (natural language) to show, or a single day to filter on.

      To specify a range, use "to": `doing view --from "monday 8am to friday 5pm"`.
    
      If values are only time(s) (6am to noon) all dates will be included, but entries will be filtered
    
      by time of day.
    

(default: None)

  • -o|--output FORMAT -- Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -s|--section NAME -- Section (default: None)

  • --search QUERY -- Filter entries using a search query, surround with slashes for regex (e.g. "/query.*/"), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Filter entries by tag. Combine multiple tags with a comma. Wildcards allowed (*, ?) (default: None)

  • --tag_order DIRECTION -- Tag sort direction (asc|desc) (default: None)

  • --tag_sort KEY -- Sort tags by (name|time) (default: None)

  • --template TEMPLATE_STRING -- Override output format with a template string containing %placeholders (default: None)

  • --val QUERY -- Perform a tag value query ("@done List available custom views. Specify view names to see YAML configurations.

two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool (default: None)

  • --[no-]color -- Include colors in output

  • --duration -- Show elapsed time on entries without @done tag

  • -h|--[no-]hilite -- Highlight search matches in output. Only affects command line output

  • -i|--interactive -- Select from a menu of matching entries to perform additional operations

  • --not -- Show items that don't match search/tag filters

  • --only_timed -- Only show items with recorded time intervals (override view settings)

  • -t|--[no-]times -- Show time intervals on @done tasks

  • --totals -- Show intervals with totals at the end of output

  • -x|--exact -- Force exact search string matching (case sensitive)

views

doing views [NAME(S)]

Options:

  • -o|--output FORMAT -- Output/edit view in alternative format (json, yaml) (default: yaml)

  • -c|--column -- List in single column

  • -e|--editor -- Open YAML for view in editor (requires argument)

  • -r|--remove -- Delete view config

wiki

Output a tag wiki

doing wiki

Options:

  • --after DATE_STRING -- Include entries newer than date (default: None)

  • -b|--bool BOOLEAN -- Tag boolean (AND,OR,NOT) (default: OR)

  • --before DATE_STRING -- Include entries older than date (default: None)

  • -f|--from DATE_OR_RANGE -- Date range to include, or a single day to filter date on.

    Date range argument should be quoted. Date specifications can be natural language.

    To specify a range, use "to" or "through": doing show --from "monday to friday" (default: None)

  • -s|--section SECTION_NAME -- Section to rotate (default: All)

  • --search QUERY -- Search filter, surround with slashes for regex (/query/), start with single quote for exact match ("'query") (default: None)

  • --tag TAG -- Tag filter, combine multiple tags with a comma, use with --bool (default: None)

  • --only_timed -- Only show items with recorded time intervals

yesterday

List entries from yesterday

Show only entries with start times within the previous 24 hour period. Use --before, --after, and --from to limit to

time spans within the day.

doing yesterday

Options:

  • --after TIME_STRING -- View entries after specified time (e.g. 8am, 12:30pm, 15:00) (default: None)

  • --before TIME_STRING -- View entries before specified time (e.g. 8am, 12:30pm, 15:00) (default: None)

  • --config_template TEMPLATE_KEY -- Output using a template from configuration (default: today)

  • --from TIME_RANGE -- Time range to show doing yesterday --from "12pm to 4pm" (default: None)

  • -o|--output FORMAT -- Output to export format (byday|csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki) (default: None)

  • -s|--section NAME -- Specify a section (default: All)

  • --save VIEW_NAME -- Save all current command line options as a new view (default: None)

  • --tag_order DIRECTION -- Tag sort direction (asc|desc) (default: asc)

  • --tag_sort KEY -- Sort tags by (name|time) (default: name)

  • --template TEMPLATE_STRING -- Override output format with a template string containing %placeholders (default: None)

  • --title TITLE -- Title string to be used for output formats that require it (default: None)

  • --[no-]duration -- Show elapsed time on entries without @done tag

  • --only_timed -- Only show items with recorded time intervals

  • -t|--[no-]times -- Show time intervals on @done tasks

  • --totals -- Show time totals at the end of output

Default Command: recent

Clone this wiki locally