-
-
Notifications
You must be signed in to change notification settings - Fork 91
Doing File
The file that stores all of your entries is generated the first time you add an entry (with doing now
or doing later
). By default, the file is created in ~/.local/share/doing/what_was_i_doing.md
, but you can modify this in the config file. To see the location of your Doing file, run doing config get doing_file
.
The format of the "doing" file is TaskPaper-compatible. You can edit it by hand at any time (in TaskPaper or any text editor), but it uses a specific format for parsing, so be sure to maintain the dates and pipe characters.
Notes are anything in the list without a leading hyphen and date. They belong to the entry directly before them, and they should be indented one level beyond the parent item.
When using the now
and later
commands on the command line, you can start the entry with a quote and hit return, then type the note and close the quote. Anything after the first line will be turned into a TaskPaper-compatible note for the task and can be displayed in templates using %note
.
Notes can be prevented from ever appearing in output with the global option --no-notes
: doing --no-notes show all
.
You can open the Doing file in an editor by running doing open
. The editor used will be determined by the configuration setting editors.doing_file
. This is empty by default and falls back to your $EDITOR
variable.
To assign an editor for the Doing file, use doing config set editors.doing_file TaskPaper
, substituting TaskPaper with whatever editor you want to use. It can be a command line tool like vim
or any app that can take a file path using your system's version of the open
command (open
on Mac, xdg-open
on some other systems). This editor setting does not affect the command line editor called with --editor
when inputting entries on the command line. (The default editor needs to be able to wait for the file to close, but the doing_file editor can be any app.)
The Doing file stores entries in TaskPaper format, but with some specific syntax. Each entry must start with a date in the format YYYY-MM-DD HH:MM
(24-hour format, no seconds on the time, e.g. 2021-12-21 13:05
), followed by a pipe (|
) surrounded by at least one space on either side, followed by the entry title, which can include @tags and values. If an ID exists for the entry, it will be included in angle brackets at the very end of the title.
The end time of an entry is specified in a @done tag with a value in the same format as the start date, e.g. @done(2022-03-25 07:27)
.
Each section title is outdented to the first column and ends in a colon. All entries are indented one tab within their parent section. Notes immediately follow their entry and are indented two tabs.
When generating the Doing format externally, notes are optional and will be left empty if there are no indented lines after an entry. An ID, if included, must be exactly 32 alphanumeric characters, lowercase. It's best to leave the ID off and let Doing generate its own when reading the entries in.
Example:
Currently:
- 2022-03-25 07:23 | Testing @doing on MBP @coding @dread @gloom @done(2022-03-25 07:27) <f1112f65f329c10b5d530469547f8506>
- 2022-03-24 15:00 | Tech content standup @oracle @done(2022-03-24 15:25) <1aee12ae8875c949ee2cc845e020702a>
Some notes about the meeting
Multiple lines are ok