doing 2.1.30 → 2.1.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/.irbrc +1 -0
  3. data/CHANGELOG.md +4972 -0
  4. data/Dockerfile-2.6 +3 -1
  5. data/Dockerfile-2.7 +4 -2
  6. data/Dockerfile-3.0 +3 -1
  7. data/Gemfile.lock +1 -67
  8. data/README.md +1 -1
  9. data/bash_profile +13 -0
  10. data/bin/commands/again.rb +1 -1
  11. data/bin/commands/archive.rb +3 -3
  12. data/bin/commands/cancel.rb +1 -1
  13. data/bin/commands/commands.rb +8 -8
  14. data/bin/commands/completion.rb +61 -19
  15. data/bin/commands/config.rb +22 -19
  16. data/bin/commands/done.rb +2 -2
  17. data/bin/commands/flag.rb +1 -1
  18. data/bin/commands/grep.rb +6 -33
  19. data/bin/commands/last.rb +1 -1
  20. data/bin/commands/meanwhile.rb +2 -2
  21. data/bin/commands/now.rb +2 -2
  22. data/bin/commands/on.rb +6 -16
  23. data/bin/commands/open.rb +1 -1
  24. data/bin/commands/recent.rb +5 -17
  25. data/bin/commands/rotate.rb +17 -0
  26. data/bin/commands/sections.rb +82 -7
  27. data/bin/commands/show.rb +8 -28
  28. data/bin/commands/since.rb +5 -16
  29. data/bin/commands/tag_dir.rb +27 -3
  30. data/bin/commands/today.rb +3 -28
  31. data/bin/commands/view.rb +3 -3
  32. data/bin/commands/yesterday.rb +3 -36
  33. data/bin/doing +29 -139
  34. data/docs/doc/Array.html +1 -1
  35. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  36. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  37. data/docs/doc/BooleanTermParser/Query.html +1 -1
  38. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  39. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  40. data/docs/doc/BooleanTermParser.html +1 -1
  41. data/docs/doc/Doing/Color.html +1 -1
  42. data/docs/doc/Doing/Completion.html +324 -4
  43. data/docs/doc/Doing/Configuration.html +3 -3
  44. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  45. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  46. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  47. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  48. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  49. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  50. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  51. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  52. data/docs/doc/Doing/Errors.html +1 -1
  53. data/docs/doc/Doing/Hooks.html +1 -1
  54. data/docs/doc/Doing/Item.html +144 -3
  55. data/docs/doc/Doing/Items.html +209 -1
  56. data/docs/doc/Doing/LogAdapter.html +1 -1
  57. data/docs/doc/Doing/Logger.html +1807 -0
  58. data/docs/doc/Doing/Note.html +109 -3
  59. data/docs/doc/Doing/Pager.html +1 -1
  60. data/docs/doc/Doing/Plugins.html +1 -1
  61. data/docs/doc/Doing/Prompt.html +1 -1
  62. data/docs/doc/Doing/Section.html +1 -1
  63. data/docs/doc/Doing/TemplateString.html +1 -1
  64. data/docs/doc/Doing/Types.html +3 -3
  65. data/docs/doc/Doing/Util/Backup.html +1 -1
  66. data/docs/doc/Doing/Util.html +1 -1
  67. data/docs/doc/Doing/WWID.html +8 -58
  68. data/docs/doc/Doing.html +4 -4
  69. data/docs/doc/FalseClass.html +1 -1
  70. data/docs/doc/GLI/Commands/Help.html +1 -1
  71. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  72. data/docs/doc/GLI/Commands.html +1 -1
  73. data/docs/doc/GLI.html +1 -1
  74. data/docs/doc/Hash.html +1 -1
  75. data/docs/doc/Object.html +1 -1
  76. data/docs/doc/PhraseParser/Operator.html +1 -1
  77. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  78. data/docs/doc/PhraseParser/Query.html +1 -1
  79. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  80. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  81. data/docs/doc/PhraseParser/TermClause.html +1 -1
  82. data/docs/doc/PhraseParser.html +1 -1
  83. data/docs/doc/Status.html +1 -1
  84. data/docs/doc/String.html +1 -1
  85. data/docs/doc/Symbol.html +1 -1
  86. data/docs/doc/Time.html +1 -1
  87. data/docs/doc/TrueClass.html +1 -1
  88. data/docs/doc/_index.html +12 -10
  89. data/docs/doc/class_list.html +1 -1
  90. data/docs/doc/file.README.html +2 -2
  91. data/docs/doc/index.html +2 -2
  92. data/docs/doc/method_list.html +424 -304
  93. data/docs/doc/top-level-namespace.html +105 -1
  94. data/docs/index.md +1 -1
  95. data/doing.gemspec +24 -24
  96. data/doing.rdoc +259 -26
  97. data/example_plugin.rb +7 -5
  98. data/inputrc +57 -0
  99. data/lib/completion/_doing.zsh +48 -52
  100. data/lib/completion/doing.bash +14 -25
  101. data/lib/completion/doing.fish +41 -15
  102. data/lib/doing/add_options.rb +152 -0
  103. data/lib/doing/array/array.rb +16 -0
  104. data/lib/doing/changelog/changes.rb +1 -1
  105. data/lib/doing/chronify/string.rb +1 -1
  106. data/lib/doing/completion/bash_completion.rb +12 -51
  107. data/lib/doing/completion/fish_completion.rb +17 -53
  108. data/lib/doing/completion/zsh_completion.rb +21 -59
  109. data/lib/doing/completion.rb +203 -17
  110. data/lib/doing/configuration.rb +7 -1
  111. data/lib/doing/item.rb +30 -5
  112. data/lib/doing/items.rb +53 -5
  113. data/lib/doing/{log_adapter.rb → logger.rb} +8 -2
  114. data/lib/doing/note.rb +24 -8
  115. data/lib/doing/plugins/export/dayone_export.rb +8 -6
  116. data/lib/doing/plugins/export/html_export.rb +4 -4
  117. data/lib/doing/plugins/export/json_export.rb +19 -20
  118. data/lib/doing/plugins/export/markdown_export.rb +2 -2
  119. data/lib/doing/plugins/export/template_export.rb +4 -4
  120. data/lib/doing/plugins/import/calendar_import.rb +2 -2
  121. data/lib/doing/plugins/import/doing_import.rb +2 -2
  122. data/lib/doing/plugins/import/timing_import.rb +2 -2
  123. data/lib/doing/string/highlight.rb +3 -4
  124. data/lib/doing/string/string.rb +8 -0
  125. data/lib/doing/string/tags.rb +1 -1
  126. data/lib/doing/types.rb +2 -2
  127. data/lib/doing/util.rb +1 -1
  128. data/lib/doing/util_backup.rb +12 -12
  129. data/lib/doing/version.rb +1 -1
  130. data/lib/doing/wwid.rb +119 -120
  131. data/lib/doing.rb +61 -3
  132. data/lib/examples/commands/wiki.rb +27 -19
  133. data/lib/examples/plugins/capture_thing_import.rb +1 -1
  134. data/lib/helpers/threaded_tests.rb +2 -0
  135. data/scripts/setting_replace.rb +11 -0
  136. metadata +109 -124
  137. data/.yardoc/checksums +0 -29
  138. data/.yardoc/complete +0 -0
  139. data/.yardoc/object_types +0 -0
  140. data/.yardoc/objects/root.dat +0 -0
  141. data/.yardoc/proxy_types +0 -0
  142. data/bin/commands/add_section.rb +0 -15
data/CHANGELOG.md CHANGED
@@ -1,3 +1,4975 @@
1
+ ### 2.1.34
2
+
3
+ 2022-02-20 09:32
4
+
5
+ #### IMPROVED
6
+
7
+ - Allow `--from 8am` time range without end time to mean `8am to 11:59pm`
8
+ - `--tag_order` for commands with `--totals` output that were missing it
9
+ - Tag and search filters for on, since, today and yesterday
10
+ - Time filters for today and yesterday
11
+ - `--only_timed` filter for yesterday
12
+ - `--only_timed` for today
13
+ - Remove exact duplicates from content before saving
14
+ - `doing sections` now has subcommands -- `sections list`, `sections add SECTION` (replaces `add_section`) and `sections remove SECTION` allows removal of a section and archiving of its contents
15
+
16
+ #### FIXED
17
+
18
+ - `doing yesterday --from` not filtering time range
19
+ - Don't return a duration or interval for entries configured as never_time or never_finish
20
+ - `--from` time filter for yesterday
21
+ - Regex error in `doing archive`
22
+ - `--times` error in `doing today`
23
+
24
+ ### 2.1.33
25
+
26
+ 2022-02-18 12:09
27
+
28
+ #### FIXED
29
+
30
+ - Major fixes for completion scripts, especially zsh
31
+
32
+ ### 2.1.32
33
+
34
+ 2022-02-18 08:34
35
+
36
+ #### NEW
37
+
38
+ - `doing config set --local` flag to force updates to local .doingrc, creating if it doesn't exist, and bypassing menu selection
39
+
40
+ #### IMPROVED
41
+
42
+ - `doing tag_dir` will not allow duplicate tags or tags that are already applied by a config higher up the hierarchy
43
+ - `doing tag_dir` will force updates to .doingrc in the current directory rather than offering a menu
44
+
45
+ #### FIXED
46
+
47
+ - When running without subcommand, e.g. `doing this thing`, the first word was being lost
48
+ - Remove blank lines when running `doing changes --changes --md` (output changes only in Markdown format)
49
+
50
+ ### 2.1.31
51
+
52
+ 2022-02-17 12:59
53
+
54
+ #### NEW
55
+
56
+ - `doing completion install SHELL` will copy the default completion scripts to your ~/.local/share/doing folder and offer to symlink them to autoload directories. These scripts are generated with each release but will not include any custom commands or plugins in the completions.
57
+ - `doing completion` now uses subcommands, `generate` and `install`. The install command will write default scripts to ~/.local/share/doing/completion and link them into the appropriate autoload directory for the shell. The generate command will create new scripts that include any custom commands and plugins.
58
+ - Convenience methods for plugins getting and setting configuration options using dot key paths (`Doing.setting('plugins.myplugin.setting')` and `Doing.set('plugins.myplugin.setting', value)`)
59
+
60
+ #### IMPROVED
61
+
62
+ - When generating completion scripts using `doing completion --file FILE_PATH`, if the file specified is not in an auto-load directory for the shell type, offer to symlink the output to an appropriate directory
63
+ - Update examples in `doing help completion` and its subcommands
64
+ - Move in-memory configuration into a module variable so it can be persisted/accessed outside of a WWID object using `Doing.config`
65
+ - Clean up/update `wiki` example command
66
+
67
+ #### FIXED
68
+
69
+ - Don't output empty notes as empty brackets in JSON output (also fixes the LaunchBar view of recent entries)
70
+ - Error in `--back` flag for `doing again`
71
+ - Don't try to finish items already marked @done in `doing again`
72
+ - Generating scripts using `doing completion` would fail if the terminal running it was narrow enough to wrap help output
73
+
74
+ ### 2.1.29
75
+
76
+ 2022-02-14 12:42
77
+
78
+ #### IMPROVED
79
+
80
+ - `doing changes --interactive` will load up a changelog viewer using fzf. Because it makes me happy, that's why.
81
+
82
+ ### 2.1.28
83
+
84
+ 2022-02-14 11:39
85
+
86
+ #### FIXED
87
+
88
+ - Lines merging in `doing changes --changes` output
89
+
90
+ ### 2.1.27
91
+
92
+ 2022-02-14 06:04
93
+
94
+ #### NEW
95
+
96
+ - `doing finish --update` will overwrite any existing @done tag with a new date (current time or set with `--at` or `--back`)
97
+
98
+ #### IMPROVED
99
+
100
+ - Code refactoring and cleanup
101
+ - Include release dates in `doing changes` output when available
102
+ - Allow various naming conventions for %color strings in templates. Now `boldwhite`, `brightwhite`, `bg_bold_cyan`, and `bold_bg_cyan` all work (for example)
103
+ - Common flags (e.g. --search, --tag) found on multiple commands consolidated and help descriptions matched
104
+ - `commands_accepting` now accepts multiple arguments and a `--bool` flag
105
+ - `changes` command can now output changes only (no version numbers) and defaults to raw Markdown if not a TTY or the `--md` flag is used
106
+ - `doing archive` now accepts `--after` and `--from` date filters
107
+
108
+ #### FIXED
109
+
110
+ - Some flag descriptions in help
111
+ - Editor detection
112
+
113
+ ### 2.1.26
114
+
115
+ 2022-01-23 16:14
116
+
117
+ #### NEW
118
+
119
+ - Use plugins.hidden_commands in configuration to disable any command (array of command names). Note that some commands use aliases and the first name should be used.
120
+ - `doing commands [add|remove]` allows interactive enabling and disabling of default and custom commands
121
+
122
+ #### IMPROVED
123
+
124
+ - Moved all commands into separate files for management
125
+
126
+ #### FIXED
127
+
128
+ - Changelog command regex too greedy when parsing changelog
129
+
130
+ ### 2.1.25
131
+
132
+ 2022-01-23 09:25
133
+
134
+ ### 2.1.24
135
+
136
+ 2022-01-22 17:27
137
+
138
+ #### IMPROVED
139
+
140
+ - Minor update to Fish completion script
141
+
142
+ #### FIXED
143
+
144
+ - Changelog formatting issue
145
+
146
+ ### 2.1.23
147
+
148
+ 2022-01-22 15:52
149
+
150
+ #### NEW
151
+
152
+ - All display commands (except view) now accept `--config_template TEMPLATE_KEY` to override that commands default template.
153
+ - Display commands accept `--template`, which takes a template string containing %placeholders and overrides the commands default template output. Affects grep, last, on, recent, show, since, today, yesterday
154
+
155
+ #### IMPROVED
156
+
157
+ - With complete examples in the help output for most commands, `doing help` almost always requires scrolling up. It now automatically paginates using your system $PAGER (or best detected option).
158
+ - `doing tags` takes a MAX_COUNT argument to limit results when searching
159
+ - `doing tags --line` flag to output tags in a single line
160
+ - Mostly for my own use, `doing changes` (which views the changelog) now accepts `--lookup VERSION` and `--search SEARCH_PATTERN`
161
+ - `doing changes --lookup` accepts `"< 2.1 > 2.0"`, `"2.1.10-2.2"`, a specific version, or a version number with wildcards
162
+ - When registering hooks, you can pass an array to register a block for multiple events, assuming the events provide the same block arguments (like post_entry_added and post_entry_updated)
163
+
164
+ #### FIXED
165
+
166
+ - Running `--tag "@doing"` wouldn't work where `--tag "doing"` would. Now properly ignoring @ symbols
167
+
168
+ ### 2.1.22
169
+
170
+ 2022-01-21 14:53
171
+
172
+ ### 2.1.21
173
+
174
+ 2022-01-20 12:05
175
+
176
+ #### FIXED
177
+
178
+ - Custom types not available to custom commands
179
+
180
+ ### 2.1.20
181
+
182
+ 2022-01-20 11:49
183
+
184
+ #### NEW
185
+
186
+ - Autotag option for interactive `doing select` menu
187
+ - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
188
+ - Config setting doing_file_sort (asc or desc) determines the sort order of entries in the actual Doing file. Has no effect on other operations, just allows you to store the file with newest entries at top (desc) or bottom (asc).
189
+
190
+ #### IMPROVED
191
+
192
+ - Autotag improvements
193
+ - If doing is run without a command but with arguments, execute it as if you'd run `doing now`, passing the arguments to that. So you can just write "doing this thing" instead of "doing now this thing", as long as the first word of the arguments is not a recognized command.
194
+
195
+ #### FIXED
196
+
197
+ - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
198
+ - Error when using `doing finish --auto`
199
+ - `doing on wed` when today is wednesday not returning results
200
+ - Using `config set` with a false value deleted the key from config
201
+ - `config set` with true or false value was inserting a quoted string
202
+ - Entries were not being sorted (at all) within sections when writing the Doing file
203
+
204
+ ### 2.1.19
205
+
206
+ 2022-01-18 08:40
207
+
208
+ #### FIXED
209
+
210
+ - Search highlighting error with some pattern searches
211
+ - Reverse sort of items in menu from `--interactive` flags
212
+ - Nil error when `--interactive` was called without search results
213
+
214
+ ### 2.1.18
215
+
216
+ Build automation test
217
+
218
+ ### 2.1.17
219
+
220
+ 2022-01-18 07:26
221
+
222
+ #### NEW
223
+
224
+ - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
225
+ - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
226
+
227
+ #### IMPROVED
228
+
229
+ - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
230
+ - Allow `--ask` when creating new entry via STDIN pipe
231
+ - Tab completion for known tags when creating an entry interactively
232
+ - Add purple as an alias for magenta in template colors
233
+
234
+ #### FIXED
235
+
236
+ - Clear STDIN before requesting input
237
+
238
+ ### 2.1.16
239
+
240
+ 2022-01-18 02:45
241
+
242
+ #### NEW
243
+
244
+ - `doing done --from "3pm to 3:15pm"` to set start and end times with natural language string
245
+
246
+ #### IMPROVED
247
+
248
+ - Running `doing tag` without arguments takes command line input
249
+ - If `doing now` or `doing later` are run without arguments, interactively request necessary information (you can still use `--editor` to edit in your preferred editor)
250
+ - Tab completion for tags when entering at prompt
251
+ - Use readline when requesting input text, better editing features
252
+ - `doing done --at` no longer overrides `--back`
253
+
254
+ #### FIXED
255
+
256
+ - `doing select` -> output formatted empty output
257
+ - Sort items by date when using `doing select --editor` (was loading in selection order instead)
258
+ - Ruby 2.7 error in template output (.empty? on FalseClass)
259
+ - Don't add empty entry when cancelling `--editor`
260
+ - Batch editing bugs
261
+
262
+ ### 2.1.15
263
+
264
+ 2022-01-17 07:25
265
+
266
+ #### NEW
267
+
268
+ - When completing an entry, if the elapsed time would be greater than a (configurable) amount, doing will now ask for confirmation and allow you to enter a new duration before setting the @done date
269
+
270
+ #### IMPROVED
271
+
272
+ - When entering intervals, you can now use 1h30m in addition to 1.5h or 90m
273
+ - Date expansion works in more circumstances
274
+ - You can include date tags with natural language values when adding tags via `doing select`
275
+
276
+ #### FIXED
277
+
278
+ - Tags containing values with spaces no longer cause errors
279
+
280
+ ### 2.1.14
281
+
282
+ #### NEW
283
+
284
+ - All commands that accept `--note` now accept `--ask`, which requests input via readline after creating the note. Multiple lines are allowed, hit return twice to end editing. Works alongside `--note` and `--editor`
285
+
286
+ #### IMPROVED
287
+
288
+ - Implement `--search` and `--from` filtering for import plugins
289
+ - UTC format date strings in select menus for consistency (was relative date formatting)
290
+ - Don't populate the fzf search with `--search`, it's already filtered. Separated `--query` from `--search` if you do want to populate the query string in addition to `--search` filtering
291
+ - When showing relative dates, don't include the year if the date is the previous year but a later month than the current month (less than a year old)
292
+ - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
293
+
294
+ ### 2.1.13
295
+
296
+ #### NEW
297
+
298
+ - `--val` flag for all display commands, allows tag value queries. Tag values are contained in parenthesis after the tag, e.g. @progress(50). Queries look like `--val "done < two weeks ago"`, "project *= oracle" or "progress >= 50". Wildcards allowed in value, comparators can be <, >, <=, >=, ==, *= (contains), ^= (begins with), $= (ends with). Numeric and date comparisons are detected automatically. Text comparisons are case insensitive. `--val` can be used multiple times in a command and you can use `--bool` to specify AND, OR, or NOT (default AND)
299
+ - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
300
+
301
+ #### FIXED
302
+
303
+ - `doing last --editor` errors
304
+
305
+ ### 2.1.12
306
+
307
+ #### NEW
308
+
309
+ - Tag_dir command creates/updates .doingrc files in the current directory with default_tags values. Then all entries created within that directory (or subdirs) get tagged with that value.
310
+ - Synonym triggers allow `*` and `?` wildcards
311
+ - Add `--delete` flag for `doing last` to delete last entry
312
+ - `--delete` and `--editor` flags for `doing search`, batch edit and delete
313
+ - Example hook to add new entries containing a certain tag to Day One
314
+ - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
315
+
316
+ #### IMPROVED
317
+
318
+ - If you need to use a colon in an autotag transform pattern, you can split with double colon, e.g. pattern::replacement
319
+ - Arrays defined in local configurations merge with main config instead of overwriting
320
+
321
+ #### FIXED
322
+
323
+ - `doing tags --interactive` wasn't showing menu
324
+
325
+ ### 2.1.10
326
+
327
+ #### NEW
328
+
329
+ - `--age` (oldest|newest) option for view command
330
+
331
+ ### 2.1.9
332
+
333
+ #### IMPROVED
334
+
335
+ - Only attempt to install fzf if it doesn't exist on the system. In case of errors, this means a user can manually install fzf and still be able to access `--interactive` options
336
+
337
+ #### FIXED
338
+
339
+ - Rotate command only archiving half of requested items
340
+ - Frozen string error in doing import plugin
341
+
342
+ ### 2.1.8
343
+
344
+ #### NEW
345
+
346
+ - Hidden command `doing commands_accepting` which shows all commands that accept a given option, e.g. `doing commands_accepting search` shows all commands that take a search filter
347
+ - Hidden command `doing changelog` which outputs a paginated, formatted version of the change history.
348
+
349
+ #### IMPROVED
350
+
351
+ - The output of `doing template --list` now shows the file type of each template
352
+ - Output templates can now be saved to a default location/filename using `doing template html --save`
353
+
354
+ #### FIXED
355
+
356
+ - Error running `doing recent` on certain older ruby versions
357
+
358
+ ### 2.1.6
359
+
360
+ #### NEW
361
+
362
+ - `doing redo` undoes a redo
363
+ - `doing undo -i` offers a list of available versions for selection
364
+ - Multiple undo. Every time a command modifies the doing file, a backup is written. Running `doing undo` repeatedly steps back through history, `doing undo 5` jumps back 5 versions
365
+ - When resetting via `doing select`, prompt for a date string
366
+ - `doing reset` accepts a date string argument to use as start date instead of current time if provided
367
+ - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
368
+ - `doing show --menu` offers an interactive menu for selecting section and tag filters
369
+ - All commands that accept a `--tag` filter can now handle wildcards in the tag names. * to match any number of characters, ? to match a single character.
370
+ - New boolean type for tag searches, PATTERN (which is now the default). Combine tags using symbols to create more complex boolean searches, e.g. "doing +coding -work"
371
+ - You can now define `date_tags` in config, an array of tags/patterns that will be recognized when parsing for natural language dates which are converted when saving new entries
372
+ - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
373
+ - Interactive option for redo command
374
+ - Plugins for Day One export
375
+
376
+ #### IMPROVED
377
+
378
+ - Better diff output for fzf preview of `doing undo` history
379
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
380
+ - `doing redo` (a.k.a. `doing undo --redo`) can be run multiple times, stepping forward through undo history. Can also take a count to jump
381
+ - Matching algorithm can be configured in settings
382
+ - All template placeholders can now use the "printf" formatting that %title and %note have, allowing for padding, prefixes, etc.
383
+ - Move default locations for doing file and backups to ~/.local/share/doing
384
+ - `doing show --menu` will only offer tags that exist after any tag/search filters have been run
385
+ - `doing show @tag` with `--menu` will first filter by the @tag, then do an OR search for tags selected from the menu
386
+
387
+ #### FIXED
388
+
389
+ - `doing reset` without filter not automatically affecting most recent entry
390
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
391
+ - Preserve colors when wrapping text to new lines
392
+ - Tag highlighting errors
393
+ - Template options specified in views were being overriden by options in templates. View config now has precedence, but will fall back to template config for missing keys
394
+
395
+ #### IMPROVED
396
+
397
+ - Better diff output for fzf preview of `doing undo` history
398
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
399
+ - `doing redo` (a.k.a. `doing undo --redo`) can be run multiple times, stepping forward through undo history. Can also take a count to jump
400
+
401
+ #### FIXED
402
+
403
+ - `doing reset` without filter not automatically affecting most recent entry
404
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
405
+
406
+ ### 2.1.3
407
+
408
+ #### NEW
409
+
410
+ - BREAKING CHANGE: custom classes for Section (hash) and Items (Array). @content is still a regular Hash. Sections have methods :original and :items. This will affect plugins as wwid.content[section][:items] is now wwid[section].items (same for :original)
411
+ - `doing config set -r key.path` will delete a key from any config file, removing empty parent keys
412
+ - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
413
+ - When modifying start dates or @done dates via an editor command, natural language strings can be used and will be parsed into doing-formatted dates automatically
414
+ - When editor is invoked, entry titles include start date, which can be modified
415
+ - `--before`, `--after`, and `--from` date filters for select command
416
+ - `--from` flag for `doing today` and `doing yesterday`, filter by time range
417
+ - `--from` flag for `doing search`, filter by date/time range
418
+ - Commands that accept `--before`, `--after`, and `--from` can now filter on time ranges. If the date string given contains only a time (no day or date), it will be interpreted as a time range, meaning the date isn't filtered, but only entries within the time range are shown/processed
419
+ - Add %duration placeholder to template variables
420
+ - Add `interval_format` setting to config (applies to root or any view/template) to set intervals/durations to human (2h 15m) or text (00:02:15)
421
+ - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
422
+ - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
423
+
424
+ #### IMPROVED
425
+
426
+ - Config -o raw outputs value as YAML if result is a Hash/mapping, unquoted string if a single value, comma-separated list if it's an Array.
427
+ - Config -o json no longer includes key, only value.
428
+ - System agnostic method for checking available executables (pager, editor)
429
+ - Using `config set` and selecting a local config will no longer write the entire config to the local .doingrc. Instead, a nested path to the particular setting will be added to the config file.
430
+ - Config set will create missing keys. Fuzzy matching will work until the path fails, then path elements after that point will be added as verbatim keys to the specified configuration (with confirmation)
431
+ - Make menus only as tall as needed, so 5 options don't take up the whole screen
432
+ - Better word wrap for long note lines
433
+
434
+ #### FIXED
435
+
436
+ - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
437
+ - If an editor was specified for config (or default as fallback) with command line options (e.g. `emacs -nw`), Doing would fail to recognize that the executable was available.
438
+
439
+ ### 2.0.25
440
+
441
+ #### NEW
442
+
443
+ - `doing config set` to set single config values from command line
444
+ - BREAKING CHANGE: Moves ~/.doingrc to ~/.config/doing/config.yml
445
+ - BREAKING CHANGE: convert config flags to subcommands, e.g. `doing config --udpate` => `doing config update`, and `doing config --dump` => `doing config dump`
446
+
447
+ ### 2.0.24
448
+
449
+ - include fzf source directly, in case git isn't installed
450
+ - fall back to installing fzf with sudo on error
451
+
452
+ ### 2.0.20
453
+
454
+ #### IMPROVED
455
+
456
+ - completion script generator refactor and progress bars
457
+
458
+ #### FIXED
459
+
460
+ - compile fzf for current operating system
461
+
462
+ ### 2.0.19
463
+
464
+ #### FIXED
465
+
466
+ - Remove any coloring before writing to doing file
467
+
468
+ ### 2.0.18
469
+
470
+ #### FIXED
471
+
472
+ - Escape codes being included in doing file
473
+
474
+ ### 2.0.17
475
+
476
+ #### IMPROVED
477
+
478
+ - Improvements to %title formatting and wrapping
479
+
480
+ ### 2.0.16
481
+
482
+ - Test release to validate git flow automation
483
+
484
+ ### 2.0.13
485
+
486
+ #### FIXED
487
+
488
+ - Remove amatch gem dependency due to compatibility issues with Windows systems (also removes `--fuzzy` option from all search commands)
489
+
490
+ ### 2.0.11
491
+
492
+ #### NEW
493
+
494
+ - Append `/r` to tag transforms to replace original tag
495
+
496
+ #### FIXED
497
+
498
+ - Autotag tag transform fixes
499
+
500
+ ### 2.0.10
501
+
502
+ #### NEW
503
+
504
+ - Add 'timer_format' config with 'human' option for tag totals
505
+ - If `doing view` and `doing show` are confused, offer option to run the other command
506
+ - `doing completion` to generate shell completion scripts for zsh, bash, and fish
507
+ - `--search` and `--not` for cancel command
508
+ - `--case` flag for commands with `--search`. Can be (c)ase-sensitive, (i)nsensitive, or (s)mart (default smart, case insensitive unless search string contains uppercase letters)
509
+ - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
510
+ - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
511
+
512
+ #### IMPROVED
513
+
514
+ - More command line feedback
515
+ - Error formatting and output
516
+ - Add subcommand completion for `doing help` in fish shell
517
+ - Logging and error handling
518
+
519
+ #### FIXED
520
+
521
+ - Zsh completion not outputting results
522
+ - Remove `--[no]` from non-negatable options
523
+ - `doing plugins -t export -c` not outputting columns
524
+ - View config not respecting tag_order setting
525
+
526
+ ### 2.0.3.pre
527
+
528
+ #### NEW
529
+
530
+ - Import calendar events from Calendar.app on macOS
531
+ - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
532
+ - Add %idnote template placeholder for "indented note" (entire note indented one tab)
533
+ - (loosely printf-esque) formatting options for `%note` template placeholder
534
+ - `--interactive` mode to act on results of `doing grep`
535
+ - Printf formatting for title and date
536
+ - Doing import plugin
537
+ - Plugins command to list plugins
538
+ - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
539
+ - `--no-color` global flag
540
+ - Log levels, with `--quiet` and `--verbose` global flags
541
+ - Convert CLI messaging to Logger-based system
542
+ - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
543
+ - Hooks, register plugins to run based on events
544
+ - --[no-]pager and paginate: config option to enable paging output
545
+ - Never_finish and never_time config options to prevent items matching tags/sections from ever receiving @done (never_finish) or @done timestamp (never_time) - More configuration refactoring
546
+
547
+ #### IMPROVED
548
+
549
+ - Timeline output formatting
550
+ - Major plugin architecture refactoring
551
+ - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
552
+ - When accepting a date filter, allow end date to be in the future
553
+ - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
554
+ - Select menu item formatting
555
+ - Output wrapping for terminal display
556
+ - Redirect warn to STDOUT when run with `--stdout`
557
+ - Fish autocomplete
558
+ - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
559
+ - When `--stdout` or not a TTY, no color or output formatting
560
+ - Highlight tags when showing results. Because it looks nice.
561
+ - `--tag` and `--search` for `doing note`
562
+ - View/section fuzzy guessing
563
+ - Error reporting
564
+ - If `doing config` finds local doingrc files, offers a menu for editing
565
+ - More filtering options for `doing finish`
566
+ - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
567
+ - Doing done accepts `--note` flag to append a note when completing an entry
568
+
569
+ #### FIXED
570
+
571
+ - Multi-word unquoted arguments to add_section being truncated
572
+ - Show `--from` with date span
573
+ - Handling of arbitrary times in natural language dates
574
+ - Backward scope of since command with arbitrary times
575
+ - `doing rotate --keep` wasn't respecting keep value
576
+
577
+ ### 1.0.93
578
+
579
+ #### FIXED
580
+
581
+ - Gemfile error
582
+
583
+ ### 1.0.91
584
+
585
+ #### NEW
586
+
587
+ - "taskpaper" format available for all output options
588
+ - "markdown" format available for all output commands (GFM-style task list, customizable template)
589
+ - `--rename` option for tag command to replace tags
590
+ - `--regex` option for tag command, for `--remove` and `--rename`
591
+
592
+ ### 1.0.90
593
+
594
+ #### IMPROVED
595
+
596
+ - doing finish `--auto` now pulls from all sections, not just the section of the target entry
597
+
598
+ #### FIXED
599
+
600
+ - Minor fix for shell command in doing select
601
+ - Fix for doing finish `--auto` when matched item is last in list
602
+
603
+ ### 1.0.89
604
+
605
+ #### NEW
606
+
607
+ - Pretty print JSON output
608
+ - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
609
+
610
+ ### 1.0.88
611
+
612
+ #### IMPROVED
613
+
614
+ - Add `--before` and `--after` time search to yesterday command
615
+ - Add `--before` and `--after` date search to search/grep command
616
+ - Add `--tag_order` to yesterday command
617
+
618
+ ### 1.0.87
619
+
620
+ #### IMPROVED
621
+
622
+ - Add leading spaces to make %shortdate align properly, at least for the last week
623
+ - Add `--tag`, `--bool`, and `--search` to view command
624
+ - Add `--before` and `--after` date search to view command
625
+ - Add `--before` and `--after` date search to show command
626
+ - Add `--before` and `--after` time search to today command
627
+ - Add `--search` filter to show command
628
+ - More alignment/formatting fixes for %shortdate
629
+
630
+ ### 1.0.86
631
+
632
+ #### IMPROVED
633
+
634
+ - Add `count` config option for templates->recent
635
+
636
+ ### 1.0.85
637
+
638
+ #### IMPROVED
639
+
640
+ - Add `--before` DATE_STRING to archive and rotate commands
641
+ - Only create on rotate file per day, merge new entries into existing file
642
+
643
+ #### FIXED
644
+
645
+ - Fix `--auto` for finish command
646
+
647
+ ### 1.0.84
648
+
649
+ #### NEW
650
+
651
+ - `rotate` command for archiving entries to new file
652
+
653
+ #### FIXED
654
+
655
+ - Fixed current_section config key not being honored in some commands
656
+
657
+ ### 1.0.83
658
+
659
+ #### FIXED
660
+
661
+ - Fixes for `doing view` options, additional config keys for views
662
+
663
+ ### 1.0.82
664
+
665
+ #### FIXED
666
+
667
+ - Bugfixes
668
+
669
+ ### 1.0.81
670
+
671
+ #### IMPROVED
672
+
673
+ - fzf menu improvements
674
+ - allow multiple selections `doing select` action menu
675
+
676
+ ### 1.0.80
677
+
678
+ #### IMPROVED
679
+
680
+ - Convert all menus to fzf screens
681
+
682
+ ### 1.0.79
683
+
684
+ #### IMPROVED
685
+
686
+ - Wildcard tag removal using `doing select -t "tag*" -r`
687
+ - fzf menu display polish
688
+
689
+ #### FIXED
690
+
691
+ #### FIXED
692
+
693
+ - Gem missing fzf
694
+
695
+ ### 1.0.78
696
+
697
+ #### IMPROVED
698
+
699
+ - If no action is specified with select command, an interactive menu is
700
+ presented
701
+ - add output action select command with formatting and save options
702
+ - Don't link URLs in html output that don't have a protocol
703
+
704
+ ### 1.0.76
705
+
706
+ #### IMPROVED
707
+
708
+ - Refine editing multiple selections (doing select)
709
+
710
+ ### 1.0.74
711
+
712
+ #### NEW
713
+
714
+ - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
715
+ - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
716
+
717
+ ### 1.0.73
718
+
719
+ #### FIXED
720
+
721
+ - Fix for timeline output
722
+
723
+ ### 1.0.72
724
+
725
+ #### NEW
726
+
727
+ - Add `doing select` to show menu of all tasks, searchable with fuzzy matching and the ability to perform certain tasks on multiple selections.
728
+
729
+ ### 1.0.71
730
+
731
+ #### FIXED
732
+
733
+ - Fix for template command not working at all
734
+
735
+ ### 1.0.70
736
+
737
+ #### FIXED
738
+
739
+ - Fix for `doing done --took 30m` setting the wrong @done timestamp when completing previous item
740
+
741
+ ### 1.0.69
742
+
743
+ #### IMPROVED
744
+
745
+ - Add `--unfinished` option to finish and cancel commands
746
+
747
+ ### 1.0.68
748
+
749
+ #### FIXED
750
+
751
+ - Fix error in `doing show --sort` argument parsing
752
+
753
+ ### 1.0.67
754
+
755
+ #### FIXED
756
+
757
+ - Gem packaging error
758
+
759
+ ### 1.0.66
760
+
761
+ #### IMPROVED
762
+
763
+ - More flexible boolean specification, can be: all, and, any, or, not, or none
764
+
765
+ #### FIXED
766
+
767
+ - Fix for some long flags being interpreted as arrays instead of strings
768
+ - Fix for archive command not removing original entries from archived section
769
+
770
+ ### 1.0.65
771
+
772
+ #### IMPROVED
773
+
774
+ - Prevent duplicates/overlapping entries when importing
775
+
776
+ ### 1.0.64
777
+
778
+ #### NEW
779
+
780
+ - Initial import feature for Timing.app reports
781
+
782
+ ### 1.0.63
783
+
784
+ #### IMPROVED
785
+
786
+ - If `doing done --took=X` results in completion date greater than current time, use current time as completion date and backdate the entry's timestamp to fit
787
+
788
+ ### 1.0.62
789
+
790
+ #### FIXED
791
+
792
+ - `doing done` with `--took=` and without `--back=` should set end time to start date plus `--took` value
793
+
794
+ ### 1.0.61
795
+
796
+ #### IMPROVED
797
+
798
+ - Add `--search` filter to `doing archive`
799
+
800
+ ### 1.0.60
801
+
802
+ #### FIXED
803
+
804
+ - Default value for `doing again --bool` was ALL, should be AND
805
+
806
+ ### 1.0.59
807
+
808
+ #### IMPROVED
809
+
810
+ - Improvements to `doing again --tag=` functionality
811
+
812
+ ### 1.0.58
813
+
814
+ #### IMPROVED
815
+
816
+ - Finish previous task if `doing again` and not already completed
817
+
818
+ ### 1.0.57
819
+
820
+ #### IMPROVED
821
+
822
+ - Unit tests
823
+
824
+ ### 1.0.56
825
+
826
+ #### IMPROVED
827
+
828
+ - Tag command tests
829
+
830
+ #### FIXED
831
+
832
+ - Doing not reading per-directory .doingrc configs
833
+
834
+ ### 1.0.55
835
+
836
+ #### NEW
837
+
838
+ - Added config_editor_app setting to config so you can have
839
+ - A parenthetical at the end of an entry title becomes an attached
840
+ - `--editor` flag for `doing last` to edit last entry
841
+ - `--tag=` flag to filter `doing last` by tag
842
+ - `--search=` to filter `doing last` by text/regex search
843
+ - `--search=` for `doing finish`, finish last X entries matching search
844
+ - Add `tags_color` as a primary config key to highlight @tags in displayed entries
845
+
846
+ #### IMPROVED
847
+
848
+ - Clean up command line help
849
+ - `--editor` improvements for all commands that use it
850
+
851
+ #### FIXED
852
+
853
+ - Doing finish `--took` throwing error
854
+ - Doing tag `--remove` was adding tags if they didn't exist
855
+ - Creating a meanwhile task with a note resulted in an error
856
+
857
+ ### 1.0.54
858
+
859
+ #### FIXED
860
+
861
+ - Bugfix for `finish --tag=TAG`
862
+
863
+ ### 1.0.53
864
+
865
+ #### NEW
866
+
867
+ - `--tag` and `--bool` filtering for again/resume, cancel
868
+ - `--in` flag for `again`/`resume` to specify to which section the new
869
+ - Finish command accepts `--tag=` flag, finishing last entry
870
+ - `doing cancel` to end X tasks without completion date
871
+
872
+ #### IMPROVED
873
+
874
+ - Add `--no-color` option to view command
875
+ - Add `--tag` to show for compatibility
876
+
877
+ #### FIXED
878
+
879
+ - Error running finish without `--tag` flag
880
+ - `--archive` flag on finish, done, and cancel causing error
881
+
882
+ ### 1.0.52
883
+
884
+ #### NEW
885
+
886
+ - Finish command accepts `--tag=` flag, finishing last entry
887
+
888
+ #### FIXED
889
+
890
+ - `--archive` flag on finish, done, and cancel causing error
891
+
892
+ ### 1.0.49
893
+
894
+ #### FIXED
895
+
896
+ - Fix for missing date on @done tags
897
+
898
+ ### 1.0.48
899
+
900
+ #### FIXED
901
+
902
+ - Fix confirmation dialog for `doing tag -a -c 0` (autotag all)
903
+
904
+ ### 1.0.47
905
+
906
+ #### IMPROVED
907
+
908
+ - Remove check for file existence before attempting to run run_after script
909
+ - Don't autotag entries restarted with `again/resume`
910
+ - Add short flags (`-b`) for `--back` on all commands that support it
911
+
912
+ ### 1.0.46
913
+
914
+ #### IMPROVED
915
+
916
+ - Code cleanup
917
+
918
+ ### 1.0.45
919
+
920
+ #### IMPROVED
921
+
922
+ - Only execute run_after script if changes are written
923
+
924
+ ### 1.0.44
925
+
926
+ #### IMPROVED
927
+
928
+ - Remove unnecessary console logging
929
+
930
+ ### 1.0.43
931
+
932
+ #### NEW
933
+
934
+ - Add `again` command to repeat last entry without @done tag
935
+ - Add `run_after` configuration option to execute external script after any change
936
+
937
+ ### 1.0.42
938
+
939
+ #### FIXED
940
+
941
+ - Fix note indentation in doing file
942
+
943
+ ### 1.0.41
944
+
945
+ #### FIXED
946
+
947
+ - Fix for repeated backreferences in tag transform
948
+
949
+ ### 1.0.40
950
+
951
+ #### IMPROVED
952
+
953
+ - Add `--tag_sort` to all subcommands with `--totals` option
954
+
955
+ ### 1.0.39
956
+
957
+ #### NEW
958
+
959
+ - Tag transforms
960
+ - Option to sort tags by name in `--totals`
961
+
962
+ ### 1.0.33
963
+
964
+ #### FIXED
965
+
966
+ - Gem dependency updates
967
+
968
+ ### 1.0.30
969
+
970
+ #### FIXED
971
+
972
+ - Fix for array comparison error
973
+
974
+ ### 1.0.29
975
+
976
+ #### FIXED
977
+
978
+ - Bugfixes
979
+
980
+ ### 1.0.28
981
+
982
+ #### IMPROVED
983
+
984
+ - Global option `-x` to skip autotags and default_tags from global/local .doingrc
985
+ - Remove extra spaces when creating entry
986
+
987
+ ### 1.0.27
988
+
989
+ #### IMPROVED
990
+
991
+ - More graceful writing of default config (~/.doingrc) on first run
992
+ - Repaired testing setup. Needs moar tests.
993
+
994
+ ### 1.0.26
995
+
996
+ #### IMPROVED
997
+
998
+ - Add `--at` flag for `doing done`, e.g. `doing done --at=1:35pm --took=15m A new task I already finished`
999
+ - Allow decimal quantities when using natural language for hours or days, e.g. `--took=2.5h`
1000
+ - Add `did` as a synonym for `done` subcommand
1001
+
1002
+ ### 1.0.25
1003
+
1004
+ #### IMPROVED
1005
+
1006
+ #### IMPROVED
1007
+
1008
+ - Smarter method of getting user $HOME
1009
+ - Improved avoiding duplicate tags when autotagging
1010
+ - Improved autotag reporting
1011
+
1012
+ ### 1.0.24
1013
+
1014
+ #### IMPROVED
1015
+
1016
+ - `doing note` operates on whatever is most recent, not just the last note in Currently
1017
+ - `doing tag` with no count specified operates on most recent entry in any section, not just Currently
1018
+ - `doing tag` with a count greater than 1 requires a section to be specified
1019
+ - Improved results reporting for `doing tag`
1020
+ - When removing tag do a whole-word match to avoid removing part of a longer tag
1021
+
1022
+ ### 1.0.23
1023
+
1024
+ #### IMPROVED
1025
+
1026
+ - Apply default_tags after autotagging to avoid tags triggering tags
1027
+ - Set `doing recent` to default to All sections instead of Currently
1028
+ - Fix error in time reporting
1029
+ - improved y/n prompt for TTY
1030
+
1031
+ ### 1.0.22
1032
+
1033
+ #### IMPROVED
1034
+
1035
+ - Allow cascading of local config files
1036
+ - Allow `doing today` and `yesterday` to specify a section
1037
+
1038
+ #### FIXED
1039
+
1040
+ - Fix handling of "local" config files, allowing per-project configurations
1041
+
1042
+ ### 1.0.21
1043
+
1044
+ #### NEW
1045
+
1046
+ - Add legitimate regex search capabilities
1047
+ - Synonyms for grep (search) and now (next)
1048
+
1049
+ #### FIXED
1050
+
1051
+ - CSS fix
1052
+
1053
+ ### 1.0.20
1054
+
1055
+ #### NEW
1056
+
1057
+ - New command `doing templates` to export default templates for HAML and CSS
1058
+ - New config options under `html_template` for `haml` and `css`
1059
+
1060
+ #### IMPROVED
1061
+
1062
+ - Rewrite HTML export templates with responsive layout and typography
1063
+ - Ability to customize the HTML output using HAML and CSS
1064
+
1065
+ ### 1.0.19
1066
+
1067
+ #### IMPROVED
1068
+
1069
+ - For `doing note -e` include the entry title so you know what you're adding a note to
1070
+ - For any other command that allows `-e` include a comment noting that anything after the first line creates a note
1071
+ - Ignore # comments when parsing editor results
1072
+ - Add a .md extension to the temp file passed to the editor so you can take advantage of any syntax highlighting and other features in your editor
1073
+
1074
+ ### 1.0.18
1075
+
1076
+ #### IMPROVED
1077
+
1078
+ - Loosened up the template color resetting a bit more
1079
+
1080
+ #### FIXED
1081
+
1082
+ - Fix `undefined method [] for nil class` error in `doing view`
1083
+
1084
+ ### 1.0.17
1085
+
1086
+ #### NEW
1087
+
1088
+ - Add `--stdout` global option to send reporting to STDOUT instead of STDERR (for use with LaunchBar et al)
1089
+
1090
+ ### 1.0.16
1091
+
1092
+ #### FIXED
1093
+
1094
+ - Fixes overzealous color resetting
1095
+
1096
+ ### 1.0.15
1097
+
1098
+ #### FIXED
1099
+
1100
+ - CLI/text totals block was outputting when HTML output was selected
1101
+ - Have all template colors reset bold and background automatically when called
1102
+
1103
+ ### 1.0.14
1104
+
1105
+ #### IMPROVED
1106
+
1107
+ - Fish completion
1108
+ - views and sections subcommands have -c option to output single column
1109
+ - Fix html title when tag_bool is NONE
1110
+ - Fix @from tagging missing closing paren
1111
+ - Fix tag coloring
1112
+
1113
+ ### 1.0.13
1114
+
1115
+ #### FIXED
1116
+
1117
+ - Fix gsub error in doing meanwhile
1118
+
1119
+ ### 1.0.8pre
1120
+
1121
+ #### NEW
1122
+
1123
+ - added doing on command
1124
+ - Added autotagging to tag command
1125
+ - JSON output option to view commands
1126
+ - date filtering, improved date language
1127
+ - let view templates define output format (csv, json, html, template)
1128
+
1129
+ #### IMPROVED
1130
+
1131
+ - add `%chompnote` template variable (item note with newlines and extra whitespace stripped)
1132
+
1133
+ ### 1.0.7pre
1134
+
1135
+ #### IMPROVED
1136
+
1137
+ - Slightly fuzzier searching in the grep command
1138
+ - cleaner exits, `only_timed` key for view configs
1139
+ - making the note command append new notes better, and load existing notes in the editor if `-e` is called
1140
+ - handle multiple tag input in `show` tag filter
1141
+ - Global tag operations, better reporting
1142
+
1143
+ #### FIXED
1144
+
1145
+ - fix for `-v` option
1146
+
1147
+ ### 1.0.4pre
1148
+
1149
+ #### IMPROVED
1150
+
1151
+ - Improved HTML output
1152
+ - `--only_timed` option for view/show commands that only outputs items with elapsed timers (interval between start and done dates)
1153
+ - add seconds for timed items in CSV output, run `--only_timed` before chopping off `--count #`
1154
+ - fix for 1.8.7 `Dir.home` issue
1155
+ - version bump
1156
+ - don't show tag totals with zero times
1157
+ - zsh completion for doing
1158
+ - HTML styling
1159
+ - `--only_timed` option
1160
+ - added zsh completion file to `README.md`
1161
+ - add zsh completion file
1162
+
1163
+ ### 1.0.3pre
1164
+
1165
+ #### IMPROVED
1166
+
1167
+ - `done` command: making `--took` modify start time if `--back` isn't specified
1168
+ - Cleaned up time totals, improved HTML output
1169
+ - fixes for `--back` and `--took` parsing
1170
+ - Adding more complete terminal reporting to archive command
1171
+
1172
+ ### 1.0.0pre
1173
+
1174
+ #### IMPROVED
1175
+
1176
+ - Skipped ahead in the version numbering. Because I don't care.
1177
+ - Added a `note` command and `--note` flags for entry creation commands
1178
+
1179
+ ### 0.2.6pre
1180
+
1181
+ #### IMPROVED
1182
+
1183
+ - `--totals`, `--[no-]times`, `--output [csv,html]` options for `yesterday` command.
1184
+ - Add tests for Darwin to hide OS X-only features on other systems
1185
+ - `-f` flag to `now` command for finishing last task when starting a new one (Looks back for the last unfinished task in the list)
1186
+ - `--took` option for `done` and `finish` for specifying intervals from the start date for the completion date
1187
+ - Basic command line reporting
1188
+ - `--auto` flag for `finish` and `done` that will automatically set the completion time to 1 minute before the next start time in the list. You can use it retroactively to add times to sequential todos.
1189
+ - `doing grep` for searching by text or regex
1190
+
1191
+ ### 0.2.5
1192
+
1193
+ #### IMPROVED
1194
+
1195
+ - Default to showing times #26, show totals even if no tags exist #27, fix indentation #29
1196
+ - Add section label to archived tasks automatically, excepting `Currently` section
1197
+ - Today outputs and backdate for finish
1198
+ - HTML styling and fix for 1.8.7 HAML errors
1199
+ - Look, HTML output! (`--output html`)
1200
+ - Also, `--output csv`
1201
+ - let doing `archive` function on all sections
1202
+ - option to exclude date from _@done_,
1203
+ - output newlines in sections and views
1204
+ - Flagging (`doing mark`)
1205
+ - fix for view/section guess error
1206
+ - Adding tag filtering to archive command (`doing archive \@done`)
1207
+ - `doing yesterday`
1208
+ - `doing done -r` to remove last doing tag (optionally from `-s Section`)
1209
+ - Add `-f` flag to specify alternate doing file
1210
+ - `meanwhile` command
1211
+
1212
+ ### 0.2.1
1213
+
1214
+ #### IMPROVED
1215
+
1216
+ - CSV output for show command (`--csv`)
1217
+ - HTML output for show command (`--output html`)
1218
+ - fuzzy searching for all commands that specify a view.
1219
+ - In the terminal, you'll see "Assume you meant XXX" to show what match it found, but this is output to STDERR (and won't show up if you're redirecting the output or using it in GeekTool, etc.)
1220
+ - `tags_color` in view config to highlight tags at the end of the lines. Can be set to any of the `%colors`.
1221
+ - Basic time tracking.
1222
+ - `-t` on `show` and `view` will turn on time calculations
1223
+ - Intervals between timestamps and dated _@done_ tags are calculated for each line, if the tag exists.
1224
+ - You must include a `%interval` token in the appropriate template for it to show
1225
+ - _@start(date)_ tags can optionally be used to override the timestamp in the calculation
1226
+ - Any other tags in the line have that line's total added to them
1227
+ - Totals for tags can be displayed at the end of output with `--totals`
1228
+
1229
+
1230
+ ### 0.2.0
1231
+
1232
+ #### IMPROVED
1233
+
1234
+ - `doing done` without argument tags last entry done
1235
+ - `-a` archives them
1236
+ - `doing finish` or `doing finish X` marks last X entries done
1237
+ - `-a` archives them
1238
+ - `doing tag tag1 [tag2]` tags last entry or `-c X` entries
1239
+ - `doing tag -r tag1 [tag2]` removes said tag(s)
1240
+ - custom views additions
1241
+ - custom views can include `tags` and `tags_bool`
1242
+ - `tags` is a space-separated list of tags to filter the results by
1243
+ - `tags_bool` defines `AND` (all tags must exist), `OR` (any tag exists), or `NONE` (none of the tags exist)
1244
+ - `order` key (`asc` or `desc`) defines output sort order by date
1245
+ - section key can be set to `All` to combine sections
1246
+ - `doing show` updates
1247
+ - accepts `all` as a section
1248
+ - arguments following section name are tags to filter by
1249
+ - `-b` sets boolean (`AND`, `OR`, `NONE`) or (`ALL`, `ANY`, `NONE`) (default `OR`/`ANY`)
1250
+ - use `-c X` to limit results
1251
+ - use `-s` to set sort order (`asc` or `desc`)
1252
+ - use `-a` to set age (`newest` or `oldest`)
1253
+ - fuzzy section guessing when specified section isn't found
1254
+ - fuzzy view guessing for `doing view` command
1255
+
1256
+ ### 0.1.9
1257
+
1258
+ #### IMPROVED
1259
+
1260
+ - colors in templated output
1261
+ - `open` command
1262
+ - opens in the default app for file type
1263
+ - `-a APPNAME` (`doing open -a TaskPaper`)
1264
+ - `-b bundle_id` (`doing open -b com.sublimetext.3`)
1265
+ - `-e` switch for `now`, `later` and `done` commands
1266
+ - save a tmp file and open it in an editor
1267
+ - allows multi-line entries, anything after first line is considered a note
1268
+ - assumed when no input is provided (`doing now`)
1269
+ - `doing views` shows all available custom views
1270
+ - `doing view` without a view name will let you choose a view from a menu
1271
+ - `doing archive` fixed so that `-k X` works to keep `X` number of entries in the section
1272
+
1273
+ ### 0.1.7
1274
+
1275
+ #### IMPROVED
1276
+
1277
+ - colors in templated output
1278
+ - `open` command
1279
+ - opens in the default app for file type
1280
+ - `-a APPNAME` (`doing open -a TaskPaper`)
1281
+ - `-b bundle_id` (`doing open -b com.sublimetext.3`)
1282
+ - `-e` switch for `now`, `later`, and `done` commands
1283
+ - save a tmp file and open it in an editor
1284
+ - allows multi-line entries, anything after first line is considered a note
1285
+ - assumed when no input is provided (`doing now`)
1286
+
1287
+ doing### 2.1.30
1288
+
1289
+ 2022-02-16 07:18
1290
+
1291
+ #### IMPROVED
1292
+
1293
+ - `doing changes` does a better job of parsing a lookup string like '>= 2.1.10 < 2.1.15'
1294
+
1295
+ #### FIXED
1296
+
1297
+ - System agnostic platform detection, so commands that check for Darwin won't error out on other systems
1298
+ - `doing completions` debugging code
1299
+
1300
+ ### 2.1.29
1301
+
1302
+ 2022-02-14 12:42
1303
+
1304
+ #### IMPROVED
1305
+
1306
+ - `doing changes --interactive` will load up a changelog viewer using fzf. Because it makes me happy, that's why.
1307
+
1308
+ ### 2.1.28
1309
+
1310
+ 2022-02-14 11:39
1311
+
1312
+ #### FIXED
1313
+
1314
+ - Lines merging in `doing changes --changes` output
1315
+
1316
+ ### 2.1.27
1317
+
1318
+ 2022-02-14 06:04
1319
+
1320
+ #### NEW
1321
+
1322
+ - `doing finish --update` will overwrite any existing @done tag with a new date (current time or set with `--at` or `--back`)
1323
+
1324
+ #### IMPROVED
1325
+
1326
+ - Code refactoring and cleanup
1327
+ - Include release dates in `doing changes` output when available
1328
+ - Allow various naming conventions for %color strings in templates. Now `boldwhite`, `brightwhite`, `bg_bold_cyan`, and `bold_bg_cyan` all work (for example)
1329
+ - Common flags (e.g. --search, --tag) found on multiple commands consolidated and help descriptions matched
1330
+ - `commands_accepting` now accepts multiple arguments and a `--bool` flag
1331
+ - `changes` command can now output changes only (no version numbers) and defaults to raw Markdown if not a TTY or the `--md` flag is used
1332
+ - `doing archive` now accepts `--after` and `--from` date filters
1333
+
1334
+ #### FIXED
1335
+
1336
+ - Some flag descriptions in help
1337
+ - Editor detection
1338
+
1339
+ ### 2.1.26
1340
+
1341
+ 2022-01-23 16:14
1342
+
1343
+ #### NEW
1344
+
1345
+ - Use plugins.hidden_commands in configuration to disable any command (array of command names). Note that some commands use aliases and the first name should be used.
1346
+ - `doing commands [add|remove]` allows interactive enabling and disabling of default and custom commands
1347
+
1348
+ #### IMPROVED
1349
+
1350
+ - Moved all commands into separate files for management
1351
+
1352
+ #### FIXED
1353
+
1354
+ - Changelog command regex too greedy when parsing changelog
1355
+
1356
+ ### 2.1.25
1357
+
1358
+ 2022-01-23 09:25
1359
+
1360
+ ### 2.1.24
1361
+
1362
+ 2022-01-22 17:27
1363
+
1364
+ #### IMPROVED
1365
+
1366
+ - Minor update to Fish completion script
1367
+
1368
+ #### FIXED
1369
+
1370
+ - Changelog formatting issue
1371
+
1372
+ ### 2.1.23
1373
+
1374
+ 2022-01-22 15:52
1375
+
1376
+ #### NEW
1377
+
1378
+ - All display commands (except view) now accept `--config_template TEMPLATE_KEY` to override that commands default template.
1379
+ - Display commands accept `--template`, which takes a template string containing %placeholders and overrides the commands default template output. Affects grep, last, on, recent, show, since, today, yesterday
1380
+
1381
+ #### IMPROVED
1382
+
1383
+ - With complete examples in the help output for most commands, `doing help` almost always requires scrolling up. It now automatically paginates using your system $PAGER (or best detected option).
1384
+ - `doing tags` takes a MAX_COUNT argument to limit results when searching
1385
+ - `doing tags --line` flag to output tags in a single line
1386
+ - Mostly for my own use, `doing changes` (which views the changelog) now accepts `--lookup VERSION` and `--search SEARCH_PATTERN`
1387
+ - `doing changes --lookup` accepts `"< 2.1 > 2.0"`, `"2.1.10-2.2"`, a specific version, or a version number with wildcards
1388
+ - When registering hooks, you can pass an array to register a block for multiple events, assuming the events provide the same block arguments (like post_entry_added and post_entry_updated)
1389
+
1390
+ #### FIXED
1391
+
1392
+ - Running `--tag "@doing"` wouldn't work where `--tag "doing"` would. Now properly ignoring @ symbols
1393
+
1394
+ ### 2.1.22
1395
+
1396
+ 2022-01-21 14:53
1397
+
1398
+ ### 2.1.21
1399
+
1400
+ 2022-01-20 12:05
1401
+
1402
+ #### FIXED
1403
+
1404
+ - Custom types not available to custom commands
1405
+
1406
+ ### 2.1.20
1407
+
1408
+ 2022-01-20 11:49
1409
+
1410
+ #### NEW
1411
+
1412
+ - Autotag option for interactive `doing select` menu
1413
+ - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
1414
+ - Config setting doing_file_sort (asc or desc) determines the sort order of entries in the actual Doing file. Has no effect on other operations, just allows you to store the file with newest entries at top (desc) or bottom (asc).
1415
+
1416
+ #### IMPROVED
1417
+
1418
+ - Autotag improvements
1419
+ - If doing is run without a command but with arguments, execute it as if you'd run `doing now`, passing the arguments to that. So you can just write "doing this thing" instead of "doing now this thing", as long as the first word of the arguments is not a recognized command.
1420
+
1421
+ #### FIXED
1422
+
1423
+ - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
1424
+ - Error when using `doing finish --auto`
1425
+ - `doing on wed` when today is wednesday not returning results
1426
+ - Using `config set` with a false value deleted the key from config
1427
+ - `config set` with true or false value was inserting a quoted string
1428
+ - Entries were not being sorted (at all) within sections when writing the Doing file
1429
+
1430
+ ### 2.1.19
1431
+
1432
+ 2022-01-18 08:40
1433
+
1434
+ #### FIXED
1435
+
1436
+ - Search highlighting error with some pattern searches
1437
+ - Reverse sort of items in menu from `--interactive` flags
1438
+ - Nil error when `--interactive` was called without search results
1439
+
1440
+ ### 2.1.18
1441
+
1442
+ Build automation test
1443
+
1444
+ ### 2.1.17
1445
+
1446
+ 2022-01-18 07:26
1447
+
1448
+ #### NEW
1449
+
1450
+ - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
1451
+ - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
1452
+
1453
+ #### IMPROVED
1454
+
1455
+ - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
1456
+ - Allow `--ask` when creating new entry via STDIN pipe
1457
+ - Tab completion for known tags when creating an entry interactively
1458
+ - Add purple as an alias for magenta in template colors
1459
+
1460
+ #### FIXED
1461
+
1462
+ - Clear STDIN before requesting input
1463
+
1464
+ ### 2.1.16
1465
+
1466
+ 2022-01-18 02:45
1467
+
1468
+ #### NEW
1469
+
1470
+ - `doing done --from "3pm to 3:15pm"` to set start and end times with natural language string
1471
+
1472
+ #### IMPROVED
1473
+
1474
+ - Running `doing tag` without arguments takes command line input
1475
+ - If `doing now` or `doing later` are run without arguments, interactively request necessary information (you can still use `--editor` to edit in your preferred editor)
1476
+ - Tab completion for tags when entering at prompt
1477
+ - Use readline when requesting input text, better editing features
1478
+ - `doing done --at` no longer overrides `--back`
1479
+
1480
+ #### FIXED
1481
+
1482
+ - `doing select` -> output formatted empty output
1483
+ - Sort items by date when using `doing select --editor` (was loading in selection order instead)
1484
+ - Ruby 2.7 error in template output (.empty? on FalseClass)
1485
+ - Don't add empty entry when cancelling `--editor`
1486
+ - Batch editing bugs
1487
+
1488
+ ### 2.1.15
1489
+
1490
+ 2022-01-17 07:25
1491
+
1492
+ #### NEW
1493
+
1494
+ - When completing an entry, if the elapsed time would be greater than a (configurable) amount, doing will now ask for confirmation and allow you to enter a new duration before setting the @done date
1495
+
1496
+ #### IMPROVED
1497
+
1498
+ - When entering intervals, you can now use 1h30m in addition to 1.5h or 90m
1499
+ - Date expansion works in more circumstances
1500
+ - You can include date tags with natural language values when adding tags via `doing select`
1501
+
1502
+ #### FIXED
1503
+
1504
+ - Tags containing values with spaces no longer cause errors
1505
+
1506
+ ### 2.1.14
1507
+
1508
+ #### NEW
1509
+
1510
+ - All commands that accept `--note` now accept `--ask`, which requests input via readline after creating the note. Multiple lines are allowed, hit return twice to end editing. Works alongside `--note` and `--editor`
1511
+
1512
+ #### IMPROVED
1513
+
1514
+ - Implement `--search` and `--from` filtering for import plugins
1515
+ - UTC format date strings in select menus for consistency (was relative date formatting)
1516
+ - Don't populate the fzf search with `--search`, it's already filtered. Separated `--query` from `--search` if you do want to populate the query string in addition to `--search` filtering
1517
+ - When showing relative dates, don't include the year if the date is the previous year but a later month than the current month (less than a year old)
1518
+ - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
1519
+
1520
+ ### 2.1.13
1521
+
1522
+ #### NEW
1523
+
1524
+ - `--val` flag for all display commands, allows tag value queries. Tag values are contained in parenthesis after the tag, e.g. @progress(50). Queries look like `--val "done < two weeks ago"`, "project *= oracle" or "progress >= 50". Wildcards allowed in value, comparators can be <, >, <=, >=, ==, *= (contains), ^= (begins with), $= (ends with). Numeric and date comparisons are detected automatically. Text comparisons are case insensitive. `--val` can be used multiple times in a command and you can use `--bool` to specify AND, OR, or NOT (default AND)
1525
+ - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
1526
+
1527
+ #### FIXED
1528
+
1529
+ - `doing last --editor` errors
1530
+
1531
+ ### 2.1.12
1532
+
1533
+ #### NEW
1534
+
1535
+ - Tag_dir command creates/updates .doingrc files in the current directory with default_tags values. Then all entries created within that directory (or subdirs) get tagged with that value.
1536
+ - Synonym triggers allow `*` and `?` wildcards
1537
+ - Add `--delete` flag for `doing last` to delete last entry
1538
+ - `--delete` and `--editor` flags for `doing search`, batch edit and delete
1539
+ - Example hook to add new entries containing a certain tag to Day One
1540
+ - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
1541
+
1542
+ #### IMPROVED
1543
+
1544
+ - If you need to use a colon in an autotag transform pattern, you can split with double colon, e.g. pattern::replacement
1545
+ - Arrays defined in local configurations merge with main config instead of overwriting
1546
+
1547
+ #### FIXED
1548
+
1549
+ - `doing tags --interactive` wasn't showing menu
1550
+
1551
+ ### 2.1.10
1552
+
1553
+ #### NEW
1554
+
1555
+ - `--age` (oldest|newest) option for view command
1556
+
1557
+ ### 2.1.9
1558
+
1559
+ #### IMPROVED
1560
+
1561
+ - Only attempt to install fzf if it doesn't exist on the system. In case of errors, this means a user can manually install fzf and still be able to access `--interactive` options
1562
+
1563
+ #### FIXED
1564
+
1565
+ - Rotate command only archiving half of requested items
1566
+ - Frozen string error in doing import plugin
1567
+
1568
+ ### 2.1.8
1569
+
1570
+ #### NEW
1571
+
1572
+ - Hidden command `doing commands_accepting` which shows all commands that accept a given option, e.g. `doing commands_accepting search` shows all commands that take a search filter
1573
+ - Hidden command `doing changelog` which outputs a paginated, formatted version of the change history.
1574
+
1575
+ #### IMPROVED
1576
+
1577
+ - The output of `doing template --list` now shows the file type of each template
1578
+ - Output templates can now be saved to a default location/filename using `doing template html --save`
1579
+
1580
+ #### FIXED
1581
+
1582
+ - Error running `doing recent` on certain older ruby versions
1583
+
1584
+ ### 2.1.6
1585
+
1586
+ #### NEW
1587
+
1588
+ - `doing redo` undoes a redo
1589
+ - `doing undo -i` offers a list of available versions for selection
1590
+ - Multiple undo. Every time a command modifies the doing file, a backup is written. Running `doing undo` repeatedly steps back through history, `doing undo 5` jumps back 5 versions
1591
+ - When resetting via `doing select`, prompt for a date string
1592
+ - `doing reset` accepts a date string argument to use as start date instead of current time if provided
1593
+ - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
1594
+ - `doing show --menu` offers an interactive menu for selecting section and tag filters
1595
+ - All commands that accept a `--tag` filter can now handle wildcards in the tag names. * to match any number of characters, ? to match a single character.
1596
+ - New boolean type for tag searches, PATTERN (which is now the default). Combine tags using symbols to create more complex boolean searches, e.g. "doing +coding -work"
1597
+ - You can now define `date_tags` in config, an array of tags/patterns that will be recognized when parsing for natural language dates which are converted when saving new entries
1598
+ - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
1599
+ - Interactive option for redo command
1600
+ - Plugins for Day One export
1601
+
1602
+ #### IMPROVED
1603
+
1604
+ - Better diff output for fzf preview of `doing undo` history
1605
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
1606
+ - `doing redo` (a.k.a. `doing undo --redo`) can be run multiple times, stepping forward through undo history. Can also take a count to jump
1607
+ - Matching algorithm can be configured in settings
1608
+ - All template placeholders can now use the "printf" formatting that %title and %note have, allowing for padding, prefixes, etc.
1609
+ - Move default locations for doing file and backups to ~/.local/share/doing
1610
+ - `doing show --menu` will only offer tags that exist after any tag/search filters have been run
1611
+ - `doing show @tag` with `--menu` will first filter by the @tag, then do an OR search for tags selected from the menu
1612
+
1613
+ #### FIXED
1614
+
1615
+ - `doing reset` without filter not automatically affecting most recent entry
1616
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
1617
+ - Preserve colors when wrapping text to new lines
1618
+ - Tag highlighting errors
1619
+ - Template options specified in views were being overriden by options in templates. View config now has precedence, but will fall back to template config for missing keys
1620
+
1621
+ #### IMPROVED
1622
+
1623
+ - Better diff output for fzf preview of `doing undo` history
1624
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
1625
+ - `doing redo` (a.k.a. `doing undo --redo`) can be run multiple times, stepping forward through undo history. Can also take a count to jump
1626
+
1627
+ #### FIXED
1628
+
1629
+ - `doing reset` without filter not automatically affecting most recent entry
1630
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
1631
+
1632
+ ### 2.1.3
1633
+
1634
+ #### NEW
1635
+
1636
+ - BREAKING CHANGE: custom classes for Section (hash) and Items (Array). @content is still a regular Hash. Sections have methods :original and :items. This will affect plugins as wwid.content[section][:items] is now wwid[section].items (same for :original)
1637
+ - `doing config set -r key.path` will delete a key from any config file, removing empty parent keys
1638
+ - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
1639
+ - When modifying start dates or @done dates via an editor command, natural language strings can be used and will be parsed into doing-formatted dates automatically
1640
+ - When editor is invoked, entry titles include start date, which can be modified
1641
+ - `--before`, `--after`, and `--from` date filters for select command
1642
+ - `--from` flag for `doing today` and `doing yesterday`, filter by time range
1643
+ - `--from` flag for `doing search`, filter by date/time range
1644
+ - Commands that accept `--before`, `--after`, and `--from` can now filter on time ranges. If the date string given contains only a time (no day or date), it will be interpreted as a time range, meaning the date isn't filtered, but only entries within the time range are shown/processed
1645
+ - Add %duration placeholder to template variables
1646
+ - Add `interval_format` setting to config (applies to root or any view/template) to set intervals/durations to human (2h 15m) or text (00:02:15)
1647
+ - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
1648
+ - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
1649
+
1650
+ #### IMPROVED
1651
+
1652
+ - Config -o raw outputs value as YAML if result is a Hash/mapping, unquoted string if a single value, comma-separated list if it's an Array.
1653
+ - Config -o json no longer includes key, only value.
1654
+ - System agnostic method for checking available executables (pager, editor)
1655
+ - Using `config set` and selecting a local config will no longer write the entire config to the local .doingrc. Instead, a nested path to the particular setting will be added to the config file.
1656
+ - Config set will create missing keys. Fuzzy matching will work until the path fails, then path elements after that point will be added as verbatim keys to the specified configuration (with confirmation)
1657
+ - Make menus only as tall as needed, so 5 options don't take up the whole screen
1658
+ - Better word wrap for long note lines
1659
+
1660
+ #### FIXED
1661
+
1662
+ - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
1663
+ - If an editor was specified for config (or default as fallback) with command line options (e.g. `emacs -nw`), Doing would fail to recognize that the executable was available.
1664
+
1665
+ ### 2.0.25
1666
+
1667
+ #### NEW
1668
+
1669
+ - `doing config set` to set single config values from command line
1670
+ - BREAKING CHANGE: Moves ~/.doingrc to ~/.config/doing/config.yml
1671
+ - BREAKING CHANGE: convert config flags to subcommands, e.g. `doing config --udpate` => `doing config update`, and `doing config --dump` => `doing config dump`
1672
+
1673
+ ### 2.0.24
1674
+
1675
+ - include fzf source directly, in case git isn't installed
1676
+ - fall back to installing fzf with sudo on error
1677
+
1678
+ ### 2.0.20
1679
+
1680
+ #### IMPROVED
1681
+
1682
+ - completion script generator refactor and progress bars
1683
+
1684
+ #### FIXED
1685
+
1686
+ - compile fzf for current operating system
1687
+
1688
+ ### 2.0.19
1689
+
1690
+ #### FIXED
1691
+
1692
+ - Remove any coloring before writing to doing file
1693
+
1694
+ ### 2.0.18
1695
+
1696
+ #### FIXED
1697
+
1698
+ - Escape codes being included in doing file
1699
+
1700
+ ### 2.0.17
1701
+
1702
+ #### IMPROVED
1703
+
1704
+ - Improvements to %title formatting and wrapping
1705
+
1706
+ ### 2.0.16
1707
+
1708
+ - Test release to validate git flow automation
1709
+
1710
+ ### 2.0.13
1711
+
1712
+ #### FIXED
1713
+
1714
+ - Remove amatch gem dependency due to compatibility issues with Windows systems (also removes `--fuzzy` option from all search commands)
1715
+
1716
+ ### 2.0.11
1717
+
1718
+ #### NEW
1719
+
1720
+ - Append `/r` to tag transforms to replace original tag
1721
+
1722
+ #### FIXED
1723
+
1724
+ - Autotag tag transform fixes
1725
+
1726
+ ### 2.0.10
1727
+
1728
+ #### NEW
1729
+
1730
+ - Add 'timer_format' config with 'human' option for tag totals
1731
+ - If `doing view` and `doing show` are confused, offer option to run the other command
1732
+ - `doing completion` to generate shell completion scripts for zsh, bash, and fish
1733
+ - `--search` and `--not` for cancel command
1734
+ - `--case` flag for commands with `--search`. Can be (c)ase-sensitive, (i)nsensitive, or (s)mart (default smart, case insensitive unless search string contains uppercase letters)
1735
+ - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
1736
+ - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
1737
+
1738
+ #### IMPROVED
1739
+
1740
+ - More command line feedback
1741
+ - Error formatting and output
1742
+ - Add subcommand completion for `doing help` in fish shell
1743
+ - Logging and error handling
1744
+
1745
+ #### FIXED
1746
+
1747
+ - Zsh completion not outputting results
1748
+ - Remove `--[no]` from non-negatable options
1749
+ - `doing plugins -t export -c` not outputting columns
1750
+ - View config not respecting tag_order setting
1751
+
1752
+ ### 2.0.3.pre
1753
+
1754
+ #### NEW
1755
+
1756
+ - Import calendar events from Calendar.app on macOS
1757
+ - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
1758
+ - Add %idnote template placeholder for "indented note" (entire note indented one tab)
1759
+ - (loosely printf-esque) formatting options for `%note` template placeholder
1760
+ - `--interactive` mode to act on results of `doing grep`
1761
+ - Printf formatting for title and date
1762
+ - Doing import plugin
1763
+ - Plugins command to list plugins
1764
+ - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
1765
+ - `--no-color` global flag
1766
+ - Log levels, with `--quiet` and `--verbose` global flags
1767
+ - Convert CLI messaging to Logger-based system
1768
+ - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
1769
+ - Hooks, register plugins to run based on events
1770
+ - --[no-]pager and paginate: config option to enable paging output
1771
+ - Never_finish and never_time config options to prevent items matching tags/sections from ever receiving @done (never_finish) or @done timestamp (never_time) - More configuration refactoring
1772
+
1773
+ #### IMPROVED
1774
+
1775
+ - Timeline output formatting
1776
+ - Major plugin architecture refactoring
1777
+ - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
1778
+ - When accepting a date filter, allow end date to be in the future
1779
+ - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
1780
+ - Select menu item formatting
1781
+ - Output wrapping for terminal display
1782
+ - Redirect warn to STDOUT when run with `--stdout`
1783
+ - Fish autocomplete
1784
+ - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
1785
+ - When `--stdout` or not a TTY, no color or output formatting
1786
+ - Highlight tags when showing results. Because it looks nice.
1787
+ - `--tag` and `--search` for `doing note`
1788
+ - View/section fuzzy guessing
1789
+ - Error reporting
1790
+ - If `doing config` finds local doingrc files, offers a menu for editing
1791
+ - More filtering options for `doing finish`
1792
+ - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
1793
+ - Doing done accepts `--note` flag to append a note when completing an entry
1794
+
1795
+ #### FIXED
1796
+
1797
+ - Multi-word unquoted arguments to add_section being truncated
1798
+ - Show `--from` with date span
1799
+ - Handling of arbitrary times in natural language dates
1800
+ - Backward scope of since command with arbitrary times
1801
+ - `doing rotate --keep` wasn't respecting keep value
1802
+
1803
+ ### 1.0.93
1804
+
1805
+ #### FIXED
1806
+
1807
+ - Gemfile error
1808
+
1809
+ ### 1.0.91
1810
+
1811
+ #### NEW
1812
+
1813
+ - "taskpaper" format available for all output options
1814
+ - "markdown" format available for all output commands (GFM-style task list, customizable template)
1815
+ - `--rename` option for tag command to replace tags
1816
+ - `--regex` option for tag command, for `--remove` and `--rename`
1817
+
1818
+ ### 1.0.90
1819
+
1820
+ #### IMPROVED
1821
+
1822
+ - doing finish `--auto` now pulls from all sections, not just the section of the target entry
1823
+
1824
+ #### FIXED
1825
+
1826
+ - Minor fix for shell command in doing select
1827
+ - Fix for doing finish `--auto` when matched item is last in list
1828
+
1829
+ ### 1.0.89
1830
+
1831
+ #### NEW
1832
+
1833
+ - Pretty print JSON output
1834
+ - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
1835
+
1836
+ ### 1.0.88
1837
+
1838
+ #### IMPROVED
1839
+
1840
+ - Add `--before` and `--after` time search to yesterday command
1841
+ - Add `--before` and `--after` date search to search/grep command
1842
+ - Add `--tag_order` to yesterday command
1843
+
1844
+ ### 1.0.87
1845
+
1846
+ #### IMPROVED
1847
+
1848
+ - Add leading spaces to make %shortdate align properly, at least for the last week
1849
+ - Add `--tag`, `--bool`, and `--search` to view command
1850
+ - Add `--before` and `--after` date search to view command
1851
+ - Add `--before` and `--after` date search to show command
1852
+ - Add `--before` and `--after` time search to today command
1853
+ - Add `--search` filter to show command
1854
+ - More alignment/formatting fixes for %shortdate
1855
+
1856
+ ### 1.0.86
1857
+
1858
+ #### IMPROVED
1859
+
1860
+ - Add `count` config option for templates->recent
1861
+
1862
+ ### 1.0.85
1863
+
1864
+ #### IMPROVED
1865
+
1866
+ - Add `--before` DATE_STRING to archive and rotate commands
1867
+ - Only create on rotate file per day, merge new entries into existing file
1868
+
1869
+ #### FIXED
1870
+
1871
+ - Fix `--auto` for finish command
1872
+
1873
+ ### 1.0.84
1874
+
1875
+ #### NEW
1876
+
1877
+ - `rotate` command for archiving entries to new file
1878
+
1879
+ #### FIXED
1880
+
1881
+ - Fixed current_section config key not being honored in some commands
1882
+
1883
+ ### 1.0.83
1884
+
1885
+ #### FIXED
1886
+
1887
+ - Fixes for `doing view` options, additional config keys for views
1888
+
1889
+ ### 1.0.82
1890
+
1891
+ #### FIXED
1892
+
1893
+ - Bugfixes
1894
+
1895
+ ### 1.0.81
1896
+
1897
+ #### IMPROVED
1898
+
1899
+ - fzf menu improvements
1900
+ - allow multiple selections `doing select` action menu
1901
+
1902
+ ### 1.0.80
1903
+
1904
+ #### IMPROVED
1905
+
1906
+ - Convert all menus to fzf screens
1907
+
1908
+ ### 1.0.79
1909
+
1910
+ #### IMPROVED
1911
+
1912
+ - Wildcard tag removal using `doing select -t "tag*" -r`
1913
+ - fzf menu display polish
1914
+
1915
+ #### FIXED
1916
+
1917
+ #### FIXED
1918
+
1919
+ - Gem missing fzf
1920
+
1921
+ ### 1.0.78
1922
+
1923
+ #### IMPROVED
1924
+
1925
+ - If no action is specified with select command, an interactive menu is
1926
+ presented
1927
+ - add output action select command with formatting and save options
1928
+ - Don't link URLs in html output that don't have a protocol
1929
+
1930
+ ### 1.0.76
1931
+
1932
+ #### IMPROVED
1933
+
1934
+ - Refine editing multiple selections (doing select)
1935
+
1936
+ ### 1.0.74
1937
+
1938
+ #### NEW
1939
+
1940
+ - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
1941
+ - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
1942
+
1943
+ ### 1.0.73
1944
+
1945
+ #### FIXED
1946
+
1947
+ - Fix for timeline output
1948
+
1949
+ ### 1.0.72
1950
+
1951
+ #### NEW
1952
+
1953
+ - Add `doing select` to show menu of all tasks, searchable with fuzzy matching and the ability to perform certain tasks on multiple selections.
1954
+
1955
+ ### 1.0.71
1956
+
1957
+ #### FIXED
1958
+
1959
+ - Fix for template command not working at all
1960
+
1961
+ ### 1.0.70
1962
+
1963
+ #### FIXED
1964
+
1965
+ - Fix for `doing done --took 30m` setting the wrong @done timestamp when completing previous item
1966
+
1967
+ ### 1.0.69
1968
+
1969
+ #### IMPROVED
1970
+
1971
+ - Add `--unfinished` option to finish and cancel commands
1972
+
1973
+ ### 1.0.68
1974
+
1975
+ #### FIXED
1976
+
1977
+ - Fix error in `doing show --sort` argument parsing
1978
+
1979
+ ### 1.0.67
1980
+
1981
+ #### FIXED
1982
+
1983
+ - Gem packaging error
1984
+
1985
+ ### 1.0.66
1986
+
1987
+ #### IMPROVED
1988
+
1989
+ - More flexible boolean specification, can be: all, and, any, or, not, or none
1990
+
1991
+ #### FIXED
1992
+
1993
+ - Fix for some long flags being interpreted as arrays instead of strings
1994
+ - Fix for archive command not removing original entries from archived section
1995
+
1996
+ ### 1.0.65
1997
+
1998
+ #### IMPROVED
1999
+
2000
+ - Prevent duplicates/overlapping entries when importing
2001
+
2002
+ ### 1.0.64
2003
+
2004
+ #### NEW
2005
+
2006
+ - Initial import feature for Timing.app reports
2007
+
2008
+ ### 1.0.63
2009
+
2010
+ #### IMPROVED
2011
+
2012
+ - If `doing done --took=X` results in completion date greater than current time, use current time as completion date and backdate the entry's timestamp to fit
2013
+
2014
+ ### 1.0.62
2015
+
2016
+ #### FIXED
2017
+
2018
+ - `doing done` with `--took=` and without `--back=` should set end time to start date plus `--took` value
2019
+
2020
+ ### 1.0.61
2021
+
2022
+ #### IMPROVED
2023
+
2024
+ - Add `--search` filter to `doing archive`
2025
+
2026
+ ### 1.0.60
2027
+
2028
+ #### FIXED
2029
+
2030
+ - Default value for `doing again --bool` was ALL, should be AND
2031
+
2032
+ ### 1.0.59
2033
+
2034
+ #### IMPROVED
2035
+
2036
+ - Improvements to `doing again --tag=` functionality
2037
+
2038
+ ### 1.0.58
2039
+
2040
+ #### IMPROVED
2041
+
2042
+ - Finish previous task if `doing again` and not already completed
2043
+
2044
+ ### 1.0.57
2045
+
2046
+ #### IMPROVED
2047
+
2048
+ - Unit tests
2049
+
2050
+ ### 1.0.56
2051
+
2052
+ #### IMPROVED
2053
+
2054
+ - Tag command tests
2055
+
2056
+ #### FIXED
2057
+
2058
+ - Doing not reading per-directory .doingrc configs
2059
+
2060
+ ### 1.0.55
2061
+
2062
+ #### NEW
2063
+
2064
+ - Added config_editor_app setting to config so you can have
2065
+ - A parenthetical at the end of an entry title becomes an attached
2066
+ - `--editor` flag for `doing last` to edit last entry
2067
+ - `--tag=` flag to filter `doing last` by tag
2068
+ - `--search=` to filter `doing last` by text/regex search
2069
+ - `--search=` for `doing finish`, finish last X entries matching search
2070
+ - Add `tags_color` as a primary config key to highlight @tags in displayed entries
2071
+
2072
+ #### IMPROVED
2073
+
2074
+ - Clean up command line help
2075
+ - `--editor` improvements for all commands that use it
2076
+
2077
+ #### FIXED
2078
+
2079
+ - Doing finish `--took` throwing error
2080
+ - Doing tag `--remove` was adding tags if they didn't exist
2081
+ - Creating a meanwhile task with a note resulted in an error
2082
+
2083
+ ### 1.0.54
2084
+
2085
+ #### FIXED
2086
+
2087
+ - Bugfix for `finish --tag=TAG`
2088
+
2089
+ ### 1.0.53
2090
+
2091
+ #### NEW
2092
+
2093
+ - `--tag` and `--bool` filtering for again/resume, cancel
2094
+ - `--in` flag for `again`/`resume` to specify to which section the new
2095
+ - Finish command accepts `--tag=` flag, finishing last entry
2096
+ - `doing cancel` to end X tasks without completion date
2097
+
2098
+ #### IMPROVED
2099
+
2100
+ - Add `--no-color` option to view command
2101
+ - Add `--tag` to show for compatibility
2102
+
2103
+ #### FIXED
2104
+
2105
+ - Error running finish without `--tag` flag
2106
+ - `--archive` flag on finish, done, and cancel causing error
2107
+
2108
+ ### 1.0.52
2109
+
2110
+ #### NEW
2111
+
2112
+ - Finish command accepts `--tag=` flag, finishing last entry
2113
+
2114
+ #### FIXED
2115
+
2116
+ - `--archive` flag on finish, done, and cancel causing error
2117
+
2118
+ ### 1.0.49
2119
+
2120
+ #### FIXED
2121
+
2122
+ - Fix for missing date on @done tags
2123
+
2124
+ ### 1.0.48
2125
+
2126
+ #### FIXED
2127
+
2128
+ - Fix confirmation dialog for `doing tag -a -c 0` (autotag all)
2129
+
2130
+ ### 1.0.47
2131
+
2132
+ #### IMPROVED
2133
+
2134
+ - Remove check for file existence before attempting to run run_after script
2135
+ - Don't autotag entries restarted with `again/resume`
2136
+ - Add short flags (`-b`) for `--back` on all commands that support it
2137
+
2138
+ ### 1.0.46
2139
+
2140
+ #### IMPROVED
2141
+
2142
+ - Code cleanup
2143
+
2144
+ ### 1.0.45
2145
+
2146
+ #### IMPROVED
2147
+
2148
+ - Only execute run_after script if changes are written
2149
+
2150
+ ### 1.0.44
2151
+
2152
+ #### IMPROVED
2153
+
2154
+ - Remove unnecessary console logging
2155
+
2156
+ ### 1.0.43
2157
+
2158
+ #### NEW
2159
+
2160
+ - Add `again` command to repeat last entry without @done tag
2161
+ - Add `run_after` configuration option to execute external script after any change
2162
+
2163
+ ### 1.0.42
2164
+
2165
+ #### FIXED
2166
+
2167
+ - Fix note indentation in doing file
2168
+
2169
+ ### 1.0.41
2170
+
2171
+ #### FIXED
2172
+
2173
+ - Fix for repeated backreferences in tag transform
2174
+
2175
+ ### 1.0.40
2176
+
2177
+ #### IMPROVED
2178
+
2179
+ - Add `--tag_sort` to all subcommands with `--totals` option
2180
+
2181
+ ### 1.0.39
2182
+
2183
+ #### NEW
2184
+
2185
+ - Tag transforms
2186
+ - Option to sort tags by name in `--totals`
2187
+
2188
+ ### 1.0.33
2189
+
2190
+ #### FIXED
2191
+
2192
+ - Gem dependency updates
2193
+
2194
+ ### 1.0.30
2195
+
2196
+ #### FIXED
2197
+
2198
+ - Fix for array comparison error
2199
+
2200
+ ### 1.0.29
2201
+
2202
+ #### FIXED
2203
+
2204
+ - Bugfixes
2205
+
2206
+ ### 1.0.28
2207
+
2208
+ #### IMPROVED
2209
+
2210
+ - Global option `-x` to skip autotags and default_tags from global/local .doingrc
2211
+ - Remove extra spaces when creating entry
2212
+
2213
+ ### 1.0.27
2214
+
2215
+ #### IMPROVED
2216
+
2217
+ - More graceful writing of default config (~/.doingrc) on first run
2218
+ - Repaired testing setup. Needs moar tests.
2219
+
2220
+ ### 1.0.26
2221
+
2222
+ #### IMPROVED
2223
+
2224
+ - Add `--at` flag for `doing done`, e.g. `doing done --at=1:35pm --took=15m A new task I already finished`
2225
+ - Allow decimal quantities when using natural language for hours or days, e.g. `--took=2.5h`
2226
+ - Add `did` as a synonym for `done` subcommand
2227
+
2228
+ ### 1.0.25
2229
+
2230
+ #### IMPROVED
2231
+
2232
+ #### IMPROVED
2233
+
2234
+ - Smarter method of getting user $HOME
2235
+ - Improved avoiding duplicate tags when autotagging
2236
+ - Improved autotag reporting
2237
+
2238
+ ### 1.0.24
2239
+
2240
+ #### IMPROVED
2241
+
2242
+ - `doing note` operates on whatever is most recent, not just the last note in Currently
2243
+ - `doing tag` with no count specified operates on most recent entry in any section, not just Currently
2244
+ - `doing tag` with a count greater than 1 requires a section to be specified
2245
+ - Improved results reporting for `doing tag`
2246
+ - When removing tag do a whole-word match to avoid removing part of a longer tag
2247
+
2248
+ ### 1.0.23
2249
+
2250
+ #### IMPROVED
2251
+
2252
+ - Apply default_tags after autotagging to avoid tags triggering tags
2253
+ - Set `doing recent` to default to All sections instead of Currently
2254
+ - Fix error in time reporting
2255
+ - improved y/n prompt for TTY
2256
+
2257
+ ### 1.0.22
2258
+
2259
+ #### IMPROVED
2260
+
2261
+ - Allow cascading of local config files
2262
+ - Allow `doing today` and `yesterday` to specify a section
2263
+
2264
+ #### FIXED
2265
+
2266
+ - Fix handling of "local" config files, allowing per-project configurations
2267
+
2268
+ ### 1.0.21
2269
+
2270
+ #### NEW
2271
+
2272
+ - Add legitimate regex search capabilities
2273
+ - Synonyms for grep (search) and now (next)
2274
+
2275
+ #### FIXED
2276
+
2277
+ - CSS fix
2278
+
2279
+ ### 1.0.20
2280
+
2281
+ #### NEW
2282
+
2283
+ - New command `doing templates` to export default templates for HAML and CSS
2284
+ - New config options under `html_template` for `haml` and `css`
2285
+
2286
+ #### IMPROVED
2287
+
2288
+ - Rewrite HTML export templates with responsive layout and typography
2289
+ - Ability to customize the HTML output using HAML and CSS
2290
+
2291
+ ### 1.0.19
2292
+
2293
+ #### IMPROVED
2294
+
2295
+ - For `doing note -e` include the entry title so you know what you're adding a note to
2296
+ - For any other command that allows `-e` include a comment noting that anything after the first line creates a note
2297
+ - Ignore # comments when parsing editor results
2298
+ - Add a .md extension to the temp file passed to the editor so you can take advantage of any syntax highlighting and other features in your editor
2299
+
2300
+ ### 1.0.18
2301
+
2302
+ #### IMPROVED
2303
+
2304
+ - Loosened up the template color resetting a bit more
2305
+
2306
+ #### FIXED
2307
+
2308
+ - Fix `undefined method [] for nil class` error in `doing view`
2309
+
2310
+ ### 1.0.17
2311
+
2312
+ #### NEW
2313
+
2314
+ - Add `--stdout` global option to send reporting to STDOUT instead of STDERR (for use with LaunchBar et al)
2315
+
2316
+ ### 1.0.16
2317
+
2318
+ #### FIXED
2319
+
2320
+ - Fixes overzealous color resetting
2321
+
2322
+ ### 1.0.15
2323
+
2324
+ #### FIXED
2325
+
2326
+ - CLI/text totals block was outputting when HTML output was selected
2327
+ - Have all template colors reset bold and background automatically when called
2328
+
2329
+ ### 1.0.14
2330
+
2331
+ #### IMPROVED
2332
+
2333
+ - Fish completion
2334
+ - views and sections subcommands have -c option to output single column
2335
+ - Fix html title when tag_bool is NONE
2336
+ - Fix @from tagging missing closing paren
2337
+ - Fix tag coloring
2338
+
2339
+ ### 1.0.13
2340
+
2341
+ #### FIXED
2342
+
2343
+ - Fix gsub error in doing meanwhile
2344
+
2345
+ ### 1.0.8pre
2346
+
2347
+ #### NEW
2348
+
2349
+ - added doing on command
2350
+ - Added autotagging to tag command
2351
+ - JSON output option to view commands
2352
+ - date filtering, improved date language
2353
+ - let view templates define output format (csv, json, html, template)
2354
+
2355
+ #### IMPROVED
2356
+
2357
+ - add `%chompnote` template variable (item note with newlines and extra whitespace stripped)
2358
+
2359
+ ### 1.0.7pre
2360
+
2361
+ #### IMPROVED
2362
+
2363
+ - Slightly fuzzier searching in the grep command
2364
+ - cleaner exits, `only_timed` key for view configs
2365
+ - making the note command append new notes better, and load existing notes in the editor if `-e` is called
2366
+ - handle multiple tag input in `show` tag filter
2367
+ - Global tag operations, better reporting
2368
+
2369
+ #### FIXED
2370
+
2371
+ - fix for `-v` option
2372
+
2373
+ ### 1.0.4pre
2374
+
2375
+ #### IMPROVED
2376
+
2377
+ - Improved HTML output
2378
+ - `--only_timed` option for view/show commands that only outputs items with elapsed timers (interval between start and done dates)
2379
+ - add seconds for timed items in CSV output, run `--only_timed` before chopping off `--count #`
2380
+ - fix for 1.8.7 `Dir.home` issue
2381
+ - version bump
2382
+ - don't show tag totals with zero times
2383
+ - zsh completion for doing
2384
+ - HTML styling
2385
+ - `--only_timed` option
2386
+ - added zsh completion file to `README.md`
2387
+ - add zsh completion file
2388
+
2389
+ ### 1.0.3pre
2390
+
2391
+ #### IMPROVED
2392
+
2393
+ - `done` command: making `--took` modify start time if `--back` isn't specified
2394
+ - Cleaned up time totals, improved HTML output
2395
+ - fixes for `--back` and `--took` parsing
2396
+ - Adding more complete terminal reporting to archive command
2397
+
2398
+ ### 1.0.0pre
2399
+
2400
+ #### IMPROVED
2401
+
2402
+ - Skipped ahead in the version numbering. Because I don't care.
2403
+ - Added a `note` command and `--note` flags for entry creation commands
2404
+
2405
+ ### 0.2.6pre
2406
+
2407
+ #### IMPROVED
2408
+
2409
+ - `--totals`, `--[no-]times`, `--output [csv,html]` options for `yesterday` command.
2410
+ - Add tests for Darwin to hide OS X-only features on other systems
2411
+ - `-f` flag to `now` command for finishing last task when starting a new one (Looks back for the last unfinished task in the list)
2412
+ - `--took` option for `done` and `finish` for specifying intervals from the start date for the completion date
2413
+ - Basic command line reporting
2414
+ - `--auto` flag for `finish` and `done` that will automatically set the completion time to 1 minute before the next start time in the list. You can use it retroactively to add times to sequential todos.
2415
+ - `doing grep` for searching by text or regex
2416
+
2417
+ ### 0.2.5
2418
+
2419
+ #### IMPROVED
2420
+
2421
+ - Default to showing times #26, show totals even if no tags exist #27, fix indentation #29
2422
+ - Add section label to archived tasks automatically, excepting `Currently` section
2423
+ - Today outputs and backdate for finish
2424
+ - HTML styling and fix for 1.8.7 HAML errors
2425
+ - Look, HTML output! (`--output html`)
2426
+ - Also, `--output csv`
2427
+ - let doing `archive` function on all sections
2428
+ - option to exclude date from _@done_,
2429
+ - output newlines in sections and views
2430
+ - Flagging (`doing mark`)
2431
+ - fix for view/section guess error
2432
+ - Adding tag filtering to archive command (`doing archive \@done`)
2433
+ - `doing yesterday`
2434
+ - `doing done -r` to remove last doing tag (optionally from `-s Section`)
2435
+ - Add `-f` flag to specify alternate doing file
2436
+ - `meanwhile` command
2437
+
2438
+ ### 0.2.1
2439
+
2440
+ #### IMPROVED
2441
+
2442
+ - CSV output for show command (`--csv`)
2443
+ - HTML output for show command (`--output html`)
2444
+ - fuzzy searching for all commands that specify a view.
2445
+ - In the terminal, you'll see "Assume you meant XXX" to show what match it found, but this is output to STDERR (and won't show up if you're redirecting the output or using it in GeekTool, etc.)
2446
+ - `tags_color` in view config to highlight tags at the end of the lines. Can be set to any of the `%colors`.
2447
+ - Basic time tracking.
2448
+ - `-t` on `show` and `view` will turn on time calculations
2449
+ - Intervals between timestamps and dated _@done_ tags are calculated for each line, if the tag exists.
2450
+ - You must include a `%interval` token in the appropriate template for it to show
2451
+ - _@start(date)_ tags can optionally be used to override the timestamp in the calculation
2452
+ - Any other tags in the line have that line's total added to them
2453
+ - Totals for tags can be displayed at the end of output with `--totals`
2454
+
2455
+
2456
+ ### 0.2.0
2457
+
2458
+ #### IMPROVED
2459
+
2460
+ - `doing done` without argument tags last entry done
2461
+ - `-a` archives them
2462
+ - `doing finish` or `doing finish X` marks last X entries done
2463
+ - `-a` archives them
2464
+ - `doing tag tag1 [tag2]` tags last entry or `-c X` entries
2465
+ - `doing tag -r tag1 [tag2]` removes said tag(s)
2466
+ - custom views additions
2467
+ - custom views can include `tags` and `tags_bool`
2468
+ - `tags` is a space-separated list of tags to filter the results by
2469
+ - `tags_bool` defines `AND` (all tags must exist), `OR` (any tag exists), or `NONE` (none of the tags exist)
2470
+ - `order` key (`asc` or `desc`) defines output sort order by date
2471
+ - section key can be set to `All` to combine sections
2472
+ - `doing show` updates
2473
+ - accepts `all` as a section
2474
+ - arguments following section name are tags to filter by
2475
+ - `-b` sets boolean (`AND`, `OR`, `NONE`) or (`ALL`, `ANY`, `NONE`) (default `OR`/`ANY`)
2476
+ - use `-c X` to limit results
2477
+ - use `-s` to set sort order (`asc` or `desc`)
2478
+ - use `-a` to set age (`newest` or `oldest`)
2479
+ - fuzzy section guessing when specified section isn't found
2480
+ - fuzzy view guessing for `doing view` command
2481
+
2482
+ ### 0.1.9
2483
+
2484
+ #### IMPROVED
2485
+
2486
+ - colors in templated output
2487
+ - `open` command
2488
+ - opens in the default app for file type
2489
+ - `-a APPNAME` (`doing open -a TaskPaper`)
2490
+ - `-b bundle_id` (`doing open -b com.sublimetext.3`)
2491
+ - `-e` switch for `now`, `later` and `done` commands
2492
+ - save a tmp file and open it in an editor
2493
+ - allows multi-line entries, anything after first line is considered a note
2494
+ - assumed when no input is provided (`doing now`)
2495
+ - `doing views` shows all available custom views
2496
+ - `doing view` without a view name will let you choose a view from a menu
2497
+ - `doing archive` fixed so that `-k X` works to keep `X` number of entries in the section
2498
+
2499
+ ### 0.1.7
2500
+
2501
+ #### IMPROVED
2502
+
2503
+ - colors in templated output
2504
+ - `open` command
2505
+ - opens in the default app for file type
2506
+ - `-a APPNAME` (`doing open -a TaskPaper`)
2507
+ - `-b bundle_id` (`doing open -b com.sublimetext.3`)
2508
+ - `-e` switch for `now`, `later`, and `done` commands
2509
+ - save a tmp file and open it in an editor
2510
+ - allows multi-line entries, anything after first line is considered a note
2511
+ - assumed when no input is provided (`doing now`)
2512
+
2513
+ and hitting tab will offer completions of subcommands and their options.' command :completion do |c|
2514
+ - `doing completion install SHELL` will copy the default completion scripts to your ~/.local/share/doing folder and offer to symlink them to autoload directories. These scripts are generated with each release but will not include any custom commands or plugins in the completions.
2515
+
2516
+ #### IMPROVED
2517
+
2518
+ - `doing completion` now uses subcommands, `generate` and `install`. The install command will write default scripts to ~/.local/share/doing/completion and link them into the appropriate autoload directory for the shell. The generate command will create new scripts that include any custom commands and plugins. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch develop # Your branch is ahead of 'origin/develop' by 1 commit. # # Changes to be committed: # modified: CHANGELOG.md # modified: bin/commands/completion.rb # modified: lib/doing/completion.rb # # ------------------------ >8 ------------------------ # Do not modify or remove the line above. # Everything below it will be ignored. diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dbe52b..d4321f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +### 2.1.31 + +2022-02-16 10:13 + +#### NEW + +- `doing completion install SHELL` will copy the default completion scripts to your ~/.local/share/doing folder and offer to symlink them to autoload directories. These scripts are generated with each release but will not include any custom commands or plugins in the completions. # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch develop # Your branch is up to date with 'origin/develop'. # # Changes to be committed: # modified: Gemfile.lock # modified: README.md # modified: bin/commands/completion.rb # modified: lib/doing/completion.rb # modified: lib/doing/version.rb # # ------------------------ >8 ------------------------ # Do not modify or remove the line above. # Everything below it will be ignored. diff --git a/Gemfile.lock b/Gemfile.lock index c780406..9261a44 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: + +#### IMPROVED + +- When generating completion scripts using `doing completion --file FILE_PATH`, if the file specified is not in an auto-load directory for the shell type, offer to symlink the output to an appropriate directory + ### 2.1.30 2022-02-16 07:18 diff --git a/bin/commands/completion.rb b/bin/commands/completion.rb index 3d4f479..c3358e5 100644 --- a/bin/commands/completion.rb +++ b/bin/commands/completion.rb @@ -5,36 +5,65 @@ desc 'Generate shell completion scripts' long_desc 'Generates the necessary scripts to add command line completion to various shells, so typing ### 2.1.30
2519
+
2520
+ 2022-02-16 07:18
2521
+
2522
+ #### IMPROVED
2523
+
2524
+ - `doing changes` does a better job of parsing a lookup string like '>= 2.1.10 < 2.1.15'
2525
+
2526
+ #### FIXED
2527
+
2528
+ - System agnostic platform detection, so commands that check for Darwin won't error out on other systems
2529
+ - `doing completions` debugging code
2530
+
2531
+ ### 2.1.29
2532
+
2533
+ 2022-02-14 12:42
2534
+
2535
+ #### IMPROVED
2536
+
2537
+ - `doing changes --interactive` will load up a changelog viewer using fzf. Because it makes me happy, that's why.
2538
+
2539
+ ### 2.1.28
2540
+
2541
+ 2022-02-14 11:39
2542
+
2543
+ #### FIXED
2544
+
2545
+ - Lines merging in `doing changes --changes` output
2546
+
2547
+ ### 2.1.27
2548
+
2549
+ 2022-02-14 06:04
2550
+
2551
+ #### NEW
2552
+
2553
+ - `doing finish --update` will overwrite any existing @done tag with a new date (current time or set with `--at` or `--back`)
2554
+
2555
+ #### IMPROVED
2556
+
2557
+ - Code refactoring and cleanup
2558
+ - Include release dates in `doing changes` output when available
2559
+ - Allow various naming conventions for %color strings in templates. Now `boldwhite`, `brightwhite`, `bg_bold_cyan`, and `bold_bg_cyan` all work (for example)
2560
+ - Common flags (e.g. --search, --tag) found on multiple commands consolidated and help descriptions matched
2561
+ - `commands_accepting` now accepts multiple arguments and a `--bool` flag
2562
+ - `changes` command can now output changes only (no version numbers) and defaults to raw Markdown if not a TTY or the `--md` flag is used
2563
+ - `doing archive` now accepts `--after` and `--from` date filters
2564
+
2565
+ #### FIXED
2566
+
2567
+ - Some flag descriptions in help
2568
+ - Editor detection
2569
+
2570
+ ### 2.1.26
2571
+
2572
+ 2022-01-23 16:14
2573
+
2574
+ #### NEW
2575
+
2576
+ - Use plugins.hidden_commands in configuration to disable any command (array of command names). Note that some commands use aliases and the first name should be used.
2577
+ - `doing commands [add|remove]` allows interactive enabling and disabling of default and custom commands
2578
+
2579
+ #### IMPROVED
2580
+
2581
+ - Moved all commands into separate files for management
2582
+
2583
+ #### FIXED
2584
+
2585
+ - Changelog command regex too greedy when parsing changelog
2586
+
2587
+ ### 2.1.25
2588
+
2589
+ 2022-01-23 09:25
2590
+
2591
+ ### 2.1.24
2592
+
2593
+ 2022-01-22 17:27
2594
+
2595
+ #### IMPROVED
2596
+
2597
+ - Minor update to Fish completion script
2598
+
2599
+ #### FIXED
2600
+
2601
+ - Changelog formatting issue
2602
+
2603
+ ### 2.1.23
2604
+
2605
+ 2022-01-22 15:52
2606
+
2607
+ #### NEW
2608
+
2609
+ - All display commands (except view) now accept `--config_template TEMPLATE_KEY` to override that commands default template.
2610
+ - Display commands accept `--template`, which takes a template string containing %placeholders and overrides the commands default template output. Affects grep, last, on, recent, show, since, today, yesterday
2611
+
2612
+ #### IMPROVED
2613
+
2614
+ - With complete examples in the help output for most commands, `doing help` almost always requires scrolling up. It now automatically paginates using your system $PAGER (or best detected option).
2615
+ - `doing tags` takes a MAX_COUNT argument to limit results when searching
2616
+ - `doing tags --line` flag to output tags in a single line
2617
+ - Mostly for my own use, `doing changes` (which views the changelog) now accepts `--lookup VERSION` and `--search SEARCH_PATTERN`
2618
+ - `doing changes --lookup` accepts `"< 2.1 > 2.0"`, `"2.1.10-2.2"`, a specific version, or a version number with wildcards
2619
+ - When registering hooks, you can pass an array to register a block for multiple events, assuming the events provide the same block arguments (like post_entry_added and post_entry_updated)
2620
+
2621
+ #### FIXED
2622
+
2623
+ - Running `--tag "@doing"` wouldn't work where `--tag "doing"` would. Now properly ignoring @ symbols
2624
+
2625
+ ### 2.1.22
2626
+
2627
+ 2022-01-21 14:53
2628
+
2629
+ ### 2.1.21
2630
+
2631
+ 2022-01-20 12:05
2632
+
2633
+ #### FIXED
2634
+
2635
+ - Custom types not available to custom commands
2636
+
2637
+ ### 2.1.20
2638
+
2639
+ 2022-01-20 11:49
2640
+
2641
+ #### NEW
2642
+
2643
+ - Autotag option for interactive `doing select` menu
2644
+ - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
2645
+ - Config setting doing_file_sort (asc or desc) determines the sort order of entries in the actual Doing file. Has no effect on other operations, just allows you to store the file with newest entries at top (desc) or bottom (asc).
2646
+
2647
+ #### IMPROVED
2648
+
2649
+ - Autotag improvements
2650
+ - If doing is run without a command but with arguments, execute it as if you'd run `doing now`, passing the arguments to that. So you can just write "doing this thing" instead of "doing now this thing", as long as the first word of the arguments is not a recognized command.
2651
+
2652
+ #### FIXED
2653
+
2654
+ - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
2655
+ - Error when using `doing finish --auto`
2656
+ - `doing on wed` when today is wednesday not returning results
2657
+ - Using `config set` with a false value deleted the key from config
2658
+ - `config set` with true or false value was inserting a quoted string
2659
+ - Entries were not being sorted (at all) within sections when writing the Doing file
2660
+
2661
+ ### 2.1.19
2662
+
2663
+ 2022-01-18 08:40
2664
+
2665
+ #### FIXED
2666
+
2667
+ - Search highlighting error with some pattern searches
2668
+ - Reverse sort of items in menu from `--interactive` flags
2669
+ - Nil error when `--interactive` was called without search results
2670
+
2671
+ ### 2.1.18
2672
+
2673
+ Build automation test
2674
+
2675
+ ### 2.1.17
2676
+
2677
+ 2022-01-18 07:26
2678
+
2679
+ #### NEW
2680
+
2681
+ - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
2682
+ - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
2683
+
2684
+ #### IMPROVED
2685
+
2686
+ - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
2687
+ - Allow `--ask` when creating new entry via STDIN pipe
2688
+ - Tab completion for known tags when creating an entry interactively
2689
+ - Add purple as an alias for magenta in template colors
2690
+
2691
+ #### FIXED
2692
+
2693
+ - Clear STDIN before requesting input
2694
+
2695
+ ### 2.1.16
2696
+
2697
+ 2022-01-18 02:45
2698
+
2699
+ #### NEW
2700
+
2701
+ - `doing done --from "3pm to 3:15pm"` to set start and end times with natural language string
2702
+
2703
+ #### IMPROVED
2704
+
2705
+ - Running `doing tag` without arguments takes command line input
2706
+ - If `doing now` or `doing later` are run without arguments, interactively request necessary information (you can still use `--editor` to edit in your preferred editor)
2707
+ - Tab completion for tags when entering at prompt
2708
+ - Use readline when requesting input text, better editing features
2709
+ - `doing done --at` no longer overrides `--back`
2710
+
2711
+ #### FIXED
2712
+
2713
+ - `doing select` -> output formatted empty output
2714
+ - Sort items by date when using `doing select --editor` (was loading in selection order instead)
2715
+ - Ruby 2.7 error in template output (.empty? on FalseClass)
2716
+ - Don't add empty entry when cancelling `--editor`
2717
+ - Batch editing bugs
2718
+
2719
+ ### 2.1.15
2720
+
2721
+ 2022-01-17 07:25
2722
+
2723
+ #### NEW
2724
+
2725
+ - When completing an entry, if the elapsed time would be greater than a (configurable) amount, doing will now ask for confirmation and allow you to enter a new duration before setting the @done date
2726
+
2727
+ #### IMPROVED
2728
+
2729
+ - When entering intervals, you can now use 1h30m in addition to 1.5h or 90m
2730
+ - Date expansion works in more circumstances
2731
+ - You can include date tags with natural language values when adding tags via `doing select`
2732
+
2733
+ #### FIXED
2734
+
2735
+ - Tags containing values with spaces no longer cause errors
2736
+
2737
+ ### 2.1.14
2738
+
2739
+ #### NEW
2740
+
2741
+ - All commands that accept `--note` now accept `--ask`, which requests input via readline after creating the note. Multiple lines are allowed, hit return twice to end editing. Works alongside `--note` and `--editor`
2742
+
2743
+ #### IMPROVED
2744
+
2745
+ - Implement `--search` and `--from` filtering for import plugins
2746
+ - UTC format date strings in select menus for consistency (was relative date formatting)
2747
+ - Don't populate the fzf search with `--search`, it's already filtered. Separated `--query` from `--search` if you do want to populate the query string in addition to `--search` filtering
2748
+ - When showing relative dates, don't include the year if the date is the previous year but a later month than the current month (less than a year old)
2749
+ - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
2750
+
2751
+ ### 2.1.13
2752
+
2753
+ #### NEW
2754
+
2755
+ - `--val` flag for all display commands, allows tag value queries. Tag values are contained in parenthesis after the tag, e.g. @progress(50). Queries look like `--val "done < two weeks ago"`, "project *= oracle" or "progress >= 50". Wildcards allowed in value, comparators can be <, >, <=, >=, ==, *= (contains), ^= (begins with), $= (ends with). Numeric and date comparisons are detected automatically. Text comparisons are case insensitive. `--val` can be used multiple times in a command and you can use `--bool` to specify AND, OR, or NOT (default AND)
2756
+ - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
2757
+
2758
+ #### FIXED
2759
+
2760
+ - `doing last --editor` errors
2761
+
2762
+ ### 2.1.12
2763
+
2764
+ #### NEW
2765
+
2766
+ - Tag_dir command creates/updates .doingrc files in the current directory with default_tags values. Then all entries created within that directory (or subdirs) get tagged with that value.
2767
+ - Synonym triggers allow `*` and `?` wildcards
2768
+ - Add `--delete` flag for `doing last` to delete last entry
2769
+ - `--delete` and `--editor` flags for `doing search`, batch edit and delete
2770
+ - Example hook to add new entries containing a certain tag to Day One
2771
+ - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
2772
+
2773
+ #### IMPROVED
2774
+
2775
+ - If you need to use a colon in an autotag transform pattern, you can split with double colon, e.g. pattern::replacement
2776
+ - Arrays defined in local configurations merge with main config instead of overwriting
2777
+
2778
+ #### FIXED
2779
+
2780
+ - `doing tags --interactive` wasn't showing menu
2781
+
2782
+ ### 2.1.10
2783
+
2784
+ #### NEW
2785
+
2786
+ - `--age` (oldest|newest) option for view command
2787
+
2788
+ ### 2.1.9
2789
+
2790
+ #### IMPROVED
2791
+
2792
+ - Only attempt to install fzf if it doesn't exist on the system. In case of errors, this means a user can manually install fzf and still be able to access `--interactive` options
2793
+
2794
+ #### FIXED
2795
+
2796
+ - Rotate command only archiving half of requested items
2797
+ - Frozen string error in doing import plugin
2798
+
2799
+ ### 2.1.8
2800
+
2801
+ #### NEW
2802
+
2803
+ - Hidden command `doing commands_accepting` which shows all commands that accept a given option, e.g. `doing commands_accepting search` shows all commands that take a search filter
2804
+ - Hidden command `doing changelog` which outputs a paginated, formatted version of the change history.
2805
+
2806
+ #### IMPROVED
2807
+
2808
+ - The output of `doing template --list` now shows the file type of each template
2809
+ - Output templates can now be saved to a default location/filename using `doing template html --save`
2810
+
2811
+ #### FIXED
2812
+
2813
+ - Error running `doing recent` on certain older ruby versions
2814
+
2815
+ ### 2.1.6
2816
+
2817
+ #### NEW
2818
+
2819
+ - `doing redo` undoes a redo
2820
+ - `doing undo -i` offers a list of available versions for selection
2821
+ - Multiple undo. Every time a command modifies the doing file, a backup is written. Running `doing undo` repeatedly steps back through history, `doing undo 5` jumps back 5 versions
2822
+ - When resetting via `doing select`, prompt for a date string
2823
+ - `doing reset` accepts a date string argument to use as start date instead of current time if provided
2824
+ - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
2825
+ - `doing show --menu` offers an interactive menu for selecting section and tag filters
2826
+ - All commands that accept a `--tag` filter can now handle wildcards in the tag names. * to match any number of characters, ? to match a single character.
2827
+ - New boolean type for tag searches, PATTERN (which is now the default). Combine tags using symbols to create more complex boolean searches, e.g. "doing +coding -work"
2828
+ - You can now define `date_tags` in config, an array of tags/patterns that will be recognized when parsing for natural language dates which are converted when saving new entries
2829
+ - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
2830
+ - Interactive option for redo command
2831
+ - Plugins for Day One export
2832
+
2833
+ #### IMPROVED
2834
+
2835
+ - Better diff output for fzf preview of `doing undo` history
2836
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
2837
+ - `doing redo` (a.k.a. `doing undo --redo`) can be run multiple times, stepping forward through undo history. Can also take a count to jump
2838
+ - Matching algorithm can be configured in settings
2839
+ - All template placeholders can now use the "printf" formatting that %title and %note have, allowing for padding, prefixes, etc.
2840
+ - Move default locations for doing file and backups to ~/.local/share/doing
2841
+ - `doing show --menu` will only offer tags that exist after any tag/search filters have been run
2842
+ - `doing show @tag` with `--menu` will first filter by the @tag, then do an OR search for tags selected from the menu
2843
+
2844
+ #### FIXED
2845
+
2846
+ - `doing reset` without filter not automatically affecting most recent entry
2847
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
2848
+ - Preserve colors when wrapping text to new lines
2849
+ - Tag highlighting errors
2850
+ - Template options specified in views were being overriden by options in templates. View config now has precedence, but will fall back to template config for missing keys
2851
+
2852
+ #### IMPROVED
2853
+
2854
+ - Better diff output for fzf preview of `doing undo` history
2855
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
2856
+ - `doing redo` (a.k.a. `doing undo --redo`) can be run multiple times, stepping forward through undo history. Can also take a count to jump
2857
+
2858
+ #### FIXED
2859
+
2860
+ - `doing reset` without filter not automatically affecting most recent entry
2861
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
2862
+
2863
+ ### 2.1.3
2864
+
2865
+ #### NEW
2866
+
2867
+ - BREAKING CHANGE: custom classes for Section (hash) and Items (Array). @content is still a regular Hash. Sections have methods :original and :items. This will affect plugins as wwid.content[section][:items] is now wwid[section].items (same for :original)
2868
+ - `doing config set -r key.path` will delete a key from any config file, removing empty parent keys
2869
+ - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
2870
+ - When modifying start dates or @done dates via an editor command, natural language strings can be used and will be parsed into doing-formatted dates automatically
2871
+ - When editor is invoked, entry titles include start date, which can be modified
2872
+ - `--before`, `--after`, and `--from` date filters for select command
2873
+ - `--from` flag for `doing today` and `doing yesterday`, filter by time range
2874
+ - `--from` flag for `doing search`, filter by date/time range
2875
+ - Commands that accept `--before`, `--after`, and `--from` can now filter on time ranges. If the date string given contains only a time (no day or date), it will be interpreted as a time range, meaning the date isn't filtered, but only entries within the time range are shown/processed
2876
+ - Add %duration placeholder to template variables
2877
+ - Add `interval_format` setting to config (applies to root or any view/template) to set intervals/durations to human (2h 15m) or text (00:02:15)
2878
+ - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
2879
+ - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
2880
+
2881
+ #### IMPROVED
2882
+
2883
+ - Config -o raw outputs value as YAML if result is a Hash/mapping, unquoted string if a single value, comma-separated list if it's an Array.
2884
+ - Config -o json no longer includes key, only value.
2885
+ - System agnostic method for checking available executables (pager, editor)
2886
+ - Using `config set` and selecting a local config will no longer write the entire config to the local .doingrc. Instead, a nested path to the particular setting will be added to the config file.
2887
+ - Config set will create missing keys. Fuzzy matching will work until the path fails, then path elements after that point will be added as verbatim keys to the specified configuration (with confirmation)
2888
+ - Make menus only as tall as needed, so 5 options don't take up the whole screen
2889
+ - Better word wrap for long note lines
2890
+
2891
+ #### FIXED
2892
+
2893
+ - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
2894
+ - If an editor was specified for config (or default as fallback) with command line options (e.g. `emacs -nw`), Doing would fail to recognize that the executable was available.
2895
+
2896
+ ### 2.0.25
2897
+
2898
+ #### NEW
2899
+
2900
+ - `doing config set` to set single config values from command line
2901
+ - BREAKING CHANGE: Moves ~/.doingrc to ~/.config/doing/config.yml
2902
+ - BREAKING CHANGE: convert config flags to subcommands, e.g. `doing config --udpate` => `doing config update`, and `doing config --dump` => `doing config dump`
2903
+
2904
+ ### 2.0.24
2905
+
2906
+ - include fzf source directly, in case git isn't installed
2907
+ - fall back to installing fzf with sudo on error
2908
+
2909
+ ### 2.0.20
2910
+
2911
+ #### IMPROVED
2912
+
2913
+ - completion script generator refactor and progress bars
2914
+
2915
+ #### FIXED
2916
+
2917
+ - compile fzf for current operating system
2918
+
2919
+ ### 2.0.19
2920
+
2921
+ #### FIXED
2922
+
2923
+ - Remove any coloring before writing to doing file
2924
+
2925
+ ### 2.0.18
2926
+
2927
+ #### FIXED
2928
+
2929
+ - Escape codes being included in doing file
2930
+
2931
+ ### 2.0.17
2932
+
2933
+ #### IMPROVED
2934
+
2935
+ - Improvements to %title formatting and wrapping
2936
+
2937
+ ### 2.0.16
2938
+
2939
+ - Test release to validate git flow automation
2940
+
2941
+ ### 2.0.13
2942
+
2943
+ #### FIXED
2944
+
2945
+ - Remove amatch gem dependency due to compatibility issues with Windows systems (also removes `--fuzzy` option from all search commands)
2946
+
2947
+ ### 2.0.11
2948
+
2949
+ #### NEW
2950
+
2951
+ - Append `/r` to tag transforms to replace original tag
2952
+
2953
+ #### FIXED
2954
+
2955
+ - Autotag tag transform fixes
2956
+
2957
+ ### 2.0.10
2958
+
2959
+ #### NEW
2960
+
2961
+ - Add 'timer_format' config with 'human' option for tag totals
2962
+ - If `doing view` and `doing show` are confused, offer option to run the other command
2963
+ - `doing completion` to generate shell completion scripts for zsh, bash, and fish
2964
+ - `--search` and `--not` for cancel command
2965
+ - `--case` flag for commands with `--search`. Can be (c)ase-sensitive, (i)nsensitive, or (s)mart (default smart, case insensitive unless search string contains uppercase letters)
2966
+ - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
2967
+ - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
2968
+
2969
+ #### IMPROVED
2970
+
2971
+ - More command line feedback
2972
+ - Error formatting and output
2973
+ - Add subcommand completion for `doing help` in fish shell
2974
+ - Logging and error handling
2975
+
2976
+ #### FIXED
2977
+
2978
+ - Zsh completion not outputting results
2979
+ - Remove `--[no]` from non-negatable options
2980
+ - `doing plugins -t export -c` not outputting columns
2981
+ - View config not respecting tag_order setting
2982
+
2983
+ ### 2.0.3.pre
2984
+
2985
+ #### NEW
2986
+
2987
+ - Import calendar events from Calendar.app on macOS
2988
+ - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
2989
+ - Add %idnote template placeholder for "indented note" (entire note indented one tab)
2990
+ - (loosely printf-esque) formatting options for `%note` template placeholder
2991
+ - `--interactive` mode to act on results of `doing grep`
2992
+ - Printf formatting for title and date
2993
+ - Doing import plugin
2994
+ - Plugins command to list plugins
2995
+ - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
2996
+ - `--no-color` global flag
2997
+ - Log levels, with `--quiet` and `--verbose` global flags
2998
+ - Convert CLI messaging to Logger-based system
2999
+ - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
3000
+ - Hooks, register plugins to run based on events
3001
+ - --[no-]pager and paginate: config option to enable paging output
3002
+ - Never_finish and never_time config options to prevent items matching tags/sections from ever receiving @done (never_finish) or @done timestamp (never_time) - More configuration refactoring
3003
+
3004
+ #### IMPROVED
3005
+
3006
+ - Timeline output formatting
3007
+ - Major plugin architecture refactoring
3008
+ - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
3009
+ - When accepting a date filter, allow end date to be in the future
3010
+ - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
3011
+ - Select menu item formatting
3012
+ - Output wrapping for terminal display
3013
+ - Redirect warn to STDOUT when run with `--stdout`
3014
+ - Fish autocomplete
3015
+ - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
3016
+ - When `--stdout` or not a TTY, no color or output formatting
3017
+ - Highlight tags when showing results. Because it looks nice.
3018
+ - `--tag` and `--search` for `doing note`
3019
+ - View/section fuzzy guessing
3020
+ - Error reporting
3021
+ - If `doing config` finds local doingrc files, offers a menu for editing
3022
+ - More filtering options for `doing finish`
3023
+ - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
3024
+ - Doing done accepts `--note` flag to append a note when completing an entry
3025
+
3026
+ #### FIXED
3027
+
3028
+ - Multi-word unquoted arguments to add_section being truncated
3029
+ - Show `--from` with date span
3030
+ - Handling of arbitrary times in natural language dates
3031
+ - Backward scope of since command with arbitrary times
3032
+ - `doing rotate --keep` wasn't respecting keep value
3033
+
3034
+ ### 1.0.93
3035
+
3036
+ #### FIXED
3037
+
3038
+ - Gemfile error
3039
+
3040
+ ### 1.0.91
3041
+
3042
+ #### NEW
3043
+
3044
+ - "taskpaper" format available for all output options
3045
+ - "markdown" format available for all output commands (GFM-style task list, customizable template)
3046
+ - `--rename` option for tag command to replace tags
3047
+ - `--regex` option for tag command, for `--remove` and `--rename`
3048
+
3049
+ ### 1.0.90
3050
+
3051
+ #### IMPROVED
3052
+
3053
+ - doing finish `--auto` now pulls from all sections, not just the section of the target entry
3054
+
3055
+ #### FIXED
3056
+
3057
+ - Minor fix for shell command in doing select
3058
+ - Fix for doing finish `--auto` when matched item is last in list
3059
+
3060
+ ### 1.0.89
3061
+
3062
+ #### NEW
3063
+
3064
+ - Pretty print JSON output
3065
+ - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
3066
+
3067
+ ### 1.0.88
3068
+
3069
+ #### IMPROVED
3070
+
3071
+ - Add `--before` and `--after` time search to yesterday command
3072
+ - Add `--before` and `--after` date search to search/grep command
3073
+ - Add `--tag_order` to yesterday command
3074
+
3075
+ ### 1.0.87
3076
+
3077
+ #### IMPROVED
3078
+
3079
+ - Add leading spaces to make %shortdate align properly, at least for the last week
3080
+ - Add `--tag`, `--bool`, and `--search` to view command
3081
+ - Add `--before` and `--after` date search to view command
3082
+ - Add `--before` and `--after` date search to show command
3083
+ - Add `--before` and `--after` time search to today command
3084
+ - Add `--search` filter to show command
3085
+ - More alignment/formatting fixes for %shortdate
3086
+
3087
+ ### 1.0.86
3088
+
3089
+ #### IMPROVED
3090
+
3091
+ - Add `count` config option for templates->recent
3092
+
3093
+ ### 1.0.85
3094
+
3095
+ #### IMPROVED
3096
+
3097
+ - Add `--before` DATE_STRING to archive and rotate commands
3098
+ - Only create on rotate file per day, merge new entries into existing file
3099
+
3100
+ #### FIXED
3101
+
3102
+ - Fix `--auto` for finish command
3103
+
3104
+ ### 1.0.84
3105
+
3106
+ #### NEW
3107
+
3108
+ - `rotate` command for archiving entries to new file
3109
+
3110
+ #### FIXED
3111
+
3112
+ - Fixed current_section config key not being honored in some commands
3113
+
3114
+ ### 1.0.83
3115
+
3116
+ #### FIXED
3117
+
3118
+ - Fixes for `doing view` options, additional config keys for views
3119
+
3120
+ ### 1.0.82
3121
+
3122
+ #### FIXED
3123
+
3124
+ - Bugfixes
3125
+
3126
+ ### 1.0.81
3127
+
3128
+ #### IMPROVED
3129
+
3130
+ - fzf menu improvements
3131
+ - allow multiple selections `doing select` action menu
3132
+
3133
+ ### 1.0.80
3134
+
3135
+ #### IMPROVED
3136
+
3137
+ - Convert all menus to fzf screens
3138
+
3139
+ ### 1.0.79
3140
+
3141
+ #### IMPROVED
3142
+
3143
+ - Wildcard tag removal using `doing select -t "tag*" -r`
3144
+ - fzf menu display polish
3145
+
3146
+ #### FIXED
3147
+
3148
+ #### FIXED
3149
+
3150
+ - Gem missing fzf
3151
+
3152
+ ### 1.0.78
3153
+
3154
+ #### IMPROVED
3155
+
3156
+ - If no action is specified with select command, an interactive menu is
3157
+ presented
3158
+ - add output action select command with formatting and save options
3159
+ - Don't link URLs in html output that don't have a protocol
3160
+
3161
+ ### 1.0.76
3162
+
3163
+ #### IMPROVED
3164
+
3165
+ - Refine editing multiple selections (doing select)
3166
+
3167
+ ### 1.0.74
3168
+
3169
+ #### NEW
3170
+
3171
+ - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
3172
+ - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
3173
+
3174
+ ### 1.0.73
3175
+
3176
+ #### FIXED
3177
+
3178
+ - Fix for timeline output
3179
+
3180
+ ### 1.0.72
3181
+
3182
+ #### NEW
3183
+
3184
+ - Add `doing select` to show menu of all tasks, searchable with fuzzy matching and the ability to perform certain tasks on multiple selections.
3185
+
3186
+ ### 1.0.71
3187
+
3188
+ #### FIXED
3189
+
3190
+ - Fix for template command not working at all
3191
+
3192
+ ### 1.0.70
3193
+
3194
+ #### FIXED
3195
+
3196
+ - Fix for `doing done --took 30m` setting the wrong @done timestamp when completing previous item
3197
+
3198
+ ### 1.0.69
3199
+
3200
+ #### IMPROVED
3201
+
3202
+ - Add `--unfinished` option to finish and cancel commands
3203
+
3204
+ ### 1.0.68
3205
+
3206
+ #### FIXED
3207
+
3208
+ - Fix error in `doing show --sort` argument parsing
3209
+
3210
+ ### 1.0.67
3211
+
3212
+ #### FIXED
3213
+
3214
+ - Gem packaging error
3215
+
3216
+ ### 1.0.66
3217
+
3218
+ #### IMPROVED
3219
+
3220
+ - More flexible boolean specification, can be: all, and, any, or, not, or none
3221
+
3222
+ #### FIXED
3223
+
3224
+ - Fix for some long flags being interpreted as arrays instead of strings
3225
+ - Fix for archive command not removing original entries from archived section
3226
+
3227
+ ### 1.0.65
3228
+
3229
+ #### IMPROVED
3230
+
3231
+ - Prevent duplicates/overlapping entries when importing
3232
+
3233
+ ### 1.0.64
3234
+
3235
+ #### NEW
3236
+
3237
+ - Initial import feature for Timing.app reports
3238
+
3239
+ ### 1.0.63
3240
+
3241
+ #### IMPROVED
3242
+
3243
+ - If `doing done --took=X` results in completion date greater than current time, use current time as completion date and backdate the entry's timestamp to fit
3244
+
3245
+ ### 1.0.62
3246
+
3247
+ #### FIXED
3248
+
3249
+ - `doing done` with `--took=` and without `--back=` should set end time to start date plus `--took` value
3250
+
3251
+ ### 1.0.61
3252
+
3253
+ #### IMPROVED
3254
+
3255
+ - Add `--search` filter to `doing archive`
3256
+
3257
+ ### 1.0.60
3258
+
3259
+ #### FIXED
3260
+
3261
+ - Default value for `doing again --bool` was ALL, should be AND
3262
+
3263
+ ### 1.0.59
3264
+
3265
+ #### IMPROVED
3266
+
3267
+ - Improvements to `doing again --tag=` functionality
3268
+
3269
+ ### 1.0.58
3270
+
3271
+ #### IMPROVED
3272
+
3273
+ - Finish previous task if `doing again` and not already completed
3274
+
3275
+ ### 1.0.57
3276
+
3277
+ #### IMPROVED
3278
+
3279
+ - Unit tests
3280
+
3281
+ ### 1.0.56
3282
+
3283
+ #### IMPROVED
3284
+
3285
+ - Tag command tests
3286
+
3287
+ #### FIXED
3288
+
3289
+ - Doing not reading per-directory .doingrc configs
3290
+
3291
+ ### 1.0.55
3292
+
3293
+ #### NEW
3294
+
3295
+ - Added config_editor_app setting to config so you can have
3296
+ - A parenthetical at the end of an entry title becomes an attached
3297
+ - `--editor` flag for `doing last` to edit last entry
3298
+ - `--tag=` flag to filter `doing last` by tag
3299
+ - `--search=` to filter `doing last` by text/regex search
3300
+ - `--search=` for `doing finish`, finish last X entries matching search
3301
+ - Add `tags_color` as a primary config key to highlight @tags in displayed entries
3302
+
3303
+ #### IMPROVED
3304
+
3305
+ - Clean up command line help
3306
+ - `--editor` improvements for all commands that use it
3307
+
3308
+ #### FIXED
3309
+
3310
+ - Doing finish `--took` throwing error
3311
+ - Doing tag `--remove` was adding tags if they didn't exist
3312
+ - Creating a meanwhile task with a note resulted in an error
3313
+
3314
+ ### 1.0.54
3315
+
3316
+ #### FIXED
3317
+
3318
+ - Bugfix for `finish --tag=TAG`
3319
+
3320
+ ### 1.0.53
3321
+
3322
+ #### NEW
3323
+
3324
+ - `--tag` and `--bool` filtering for again/resume, cancel
3325
+ - `--in` flag for `again`/`resume` to specify to which section the new
3326
+ - Finish command accepts `--tag=` flag, finishing last entry
3327
+ - `doing cancel` to end X tasks without completion date
3328
+
3329
+ #### IMPROVED
3330
+
3331
+ - Add `--no-color` option to view command
3332
+ - Add `--tag` to show for compatibility
3333
+
3334
+ #### FIXED
3335
+
3336
+ - Error running finish without `--tag` flag
3337
+ - `--archive` flag on finish, done, and cancel causing error
3338
+
3339
+ ### 1.0.52
3340
+
3341
+ #### NEW
3342
+
3343
+ - Finish command accepts `--tag=` flag, finishing last entry
3344
+
3345
+ #### FIXED
3346
+
3347
+ - `--archive` flag on finish, done, and cancel causing error
3348
+
3349
+ ### 1.0.49
3350
+
3351
+ #### FIXED
3352
+
3353
+ - Fix for missing date on @done tags
3354
+
3355
+ ### 1.0.48
3356
+
3357
+ #### FIXED
3358
+
3359
+ - Fix confirmation dialog for `doing tag -a -c 0` (autotag all)
3360
+
3361
+ ### 1.0.47
3362
+
3363
+ #### IMPROVED
3364
+
3365
+ - Remove check for file existence before attempting to run run_after script
3366
+ - Don't autotag entries restarted with `again/resume`
3367
+ - Add short flags (`-b`) for `--back` on all commands that support it
3368
+
3369
+ ### 1.0.46
3370
+
3371
+ #### IMPROVED
3372
+
3373
+ - Code cleanup
3374
+
3375
+ ### 1.0.45
3376
+
3377
+ #### IMPROVED
3378
+
3379
+ - Only execute run_after script if changes are written
3380
+
3381
+ ### 1.0.44
3382
+
3383
+ #### IMPROVED
3384
+
3385
+ - Remove unnecessary console logging
3386
+
3387
+ ### 1.0.43
3388
+
3389
+ #### NEW
3390
+
3391
+ - Add `again` command to repeat last entry without @done tag
3392
+ - Add `run_after` configuration option to execute external script after any change
3393
+
3394
+ ### 1.0.42
3395
+
3396
+ #### FIXED
3397
+
3398
+ - Fix note indentation in doing file
3399
+
3400
+ ### 1.0.41
3401
+
3402
+ #### FIXED
3403
+
3404
+ - Fix for repeated backreferences in tag transform
3405
+
3406
+ ### 1.0.40
3407
+
3408
+ #### IMPROVED
3409
+
3410
+ - Add `--tag_sort` to all subcommands with `--totals` option
3411
+
3412
+ ### 1.0.39
3413
+
3414
+ #### NEW
3415
+
3416
+ - Tag transforms
3417
+ - Option to sort tags by name in `--totals`
3418
+
3419
+ ### 1.0.33
3420
+
3421
+ #### FIXED
3422
+
3423
+ - Gem dependency updates
3424
+
3425
+ ### 1.0.30
3426
+
3427
+ #### FIXED
3428
+
3429
+ - Fix for array comparison error
3430
+
3431
+ ### 1.0.29
3432
+
3433
+ #### FIXED
3434
+
3435
+ - Bugfixes
3436
+
3437
+ ### 1.0.28
3438
+
3439
+ #### IMPROVED
3440
+
3441
+ - Global option `-x` to skip autotags and default_tags from global/local .doingrc
3442
+ - Remove extra spaces when creating entry
3443
+
3444
+ ### 1.0.27
3445
+
3446
+ #### IMPROVED
3447
+
3448
+ - More graceful writing of default config (~/.doingrc) on first run
3449
+ - Repaired testing setup. Needs moar tests.
3450
+
3451
+ ### 1.0.26
3452
+
3453
+ #### IMPROVED
3454
+
3455
+ - Add `--at` flag for `doing done`, e.g. `doing done --at=1:35pm --took=15m A new task I already finished`
3456
+ - Allow decimal quantities when using natural language for hours or days, e.g. `--took=2.5h`
3457
+ - Add `did` as a synonym for `done` subcommand
3458
+
3459
+ ### 1.0.25
3460
+
3461
+ #### IMPROVED
3462
+
3463
+ #### IMPROVED
3464
+
3465
+ - Smarter method of getting user $HOME
3466
+ - Improved avoiding duplicate tags when autotagging
3467
+ - Improved autotag reporting
3468
+
3469
+ ### 1.0.24
3470
+
3471
+ #### IMPROVED
3472
+
3473
+ - `doing note` operates on whatever is most recent, not just the last note in Currently
3474
+ - `doing tag` with no count specified operates on most recent entry in any section, not just Currently
3475
+ - `doing tag` with a count greater than 1 requires a section to be specified
3476
+ - Improved results reporting for `doing tag`
3477
+ - When removing tag do a whole-word match to avoid removing part of a longer tag
3478
+
3479
+ ### 1.0.23
3480
+
3481
+ #### IMPROVED
3482
+
3483
+ - Apply default_tags after autotagging to avoid tags triggering tags
3484
+ - Set `doing recent` to default to All sections instead of Currently
3485
+ - Fix error in time reporting
3486
+ - improved y/n prompt for TTY
3487
+
3488
+ ### 1.0.22
3489
+
3490
+ #### IMPROVED
3491
+
3492
+ - Allow cascading of local config files
3493
+ - Allow `doing today` and `yesterday` to specify a section
3494
+
3495
+ #### FIXED
3496
+
3497
+ - Fix handling of "local" config files, allowing per-project configurations
3498
+
3499
+ ### 1.0.21
3500
+
3501
+ #### NEW
3502
+
3503
+ - Add legitimate regex search capabilities
3504
+ - Synonyms for grep (search) and now (next)
3505
+
3506
+ #### FIXED
3507
+
3508
+ - CSS fix
3509
+
3510
+ ### 1.0.20
3511
+
3512
+ #### NEW
3513
+
3514
+ - New command `doing templates` to export default templates for HAML and CSS
3515
+ - New config options under `html_template` for `haml` and `css`
3516
+
3517
+ #### IMPROVED
3518
+
3519
+ - Rewrite HTML export templates with responsive layout and typography
3520
+ - Ability to customize the HTML output using HAML and CSS
3521
+
3522
+ ### 1.0.19
3523
+
3524
+ #### IMPROVED
3525
+
3526
+ - For `doing note -e` include the entry title so you know what you're adding a note to
3527
+ - For any other command that allows `-e` include a comment noting that anything after the first line creates a note
3528
+ - Ignore # comments when parsing editor results
3529
+ - Add a .md extension to the temp file passed to the editor so you can take advantage of any syntax highlighting and other features in your editor
3530
+
3531
+ ### 1.0.18
3532
+
3533
+ #### IMPROVED
3534
+
3535
+ - Loosened up the template color resetting a bit more
3536
+
3537
+ #### FIXED
3538
+
3539
+ - Fix `undefined method [] for nil class` error in `doing view`
3540
+
3541
+ ### 1.0.17
3542
+
3543
+ #### NEW
3544
+
3545
+ - Add `--stdout` global option to send reporting to STDOUT instead of STDERR (for use with LaunchBar et al)
3546
+
3547
+ ### 1.0.16
3548
+
3549
+ #### FIXED
3550
+
3551
+ - Fixes overzealous color resetting
3552
+
3553
+ ### 1.0.15
3554
+
3555
+ #### FIXED
3556
+
3557
+ - CLI/text totals block was outputting when HTML output was selected
3558
+ - Have all template colors reset bold and background automatically when called
3559
+
3560
+ ### 1.0.14
3561
+
3562
+ #### IMPROVED
3563
+
3564
+ - Fish completion
3565
+ - views and sections subcommands have -c option to output single column
3566
+ - Fix html title when tag_bool is NONE
3567
+ - Fix @from tagging missing closing paren
3568
+ - Fix tag coloring
3569
+
3570
+ ### 1.0.13
3571
+
3572
+ #### FIXED
3573
+
3574
+ - Fix gsub error in doing meanwhile
3575
+
3576
+ ### 1.0.8pre
3577
+
3578
+ #### NEW
3579
+
3580
+ - added doing on command
3581
+ - Added autotagging to tag command
3582
+ - JSON output option to view commands
3583
+ - date filtering, improved date language
3584
+ - let view templates define output format (csv, json, html, template)
3585
+
3586
+ #### IMPROVED
3587
+
3588
+ - add `%chompnote` template variable (item note with newlines and extra whitespace stripped)
3589
+
3590
+ ### 1.0.7pre
3591
+
3592
+ #### IMPROVED
3593
+
3594
+ - Slightly fuzzier searching in the grep command
3595
+ - cleaner exits, `only_timed` key for view configs
3596
+ - making the note command append new notes better, and load existing notes in the editor if `-e` is called
3597
+ - handle multiple tag input in `show` tag filter
3598
+ - Global tag operations, better reporting
3599
+
3600
+ #### FIXED
3601
+
3602
+ - fix for `-v` option
3603
+
3604
+ ### 1.0.4pre
3605
+
3606
+ #### IMPROVED
3607
+
3608
+ - Improved HTML output
3609
+ - `--only_timed` option for view/show commands that only outputs items with elapsed timers (interval between start and done dates)
3610
+ - add seconds for timed items in CSV output, run `--only_timed` before chopping off `--count #`
3611
+ - fix for 1.8.7 `Dir.home` issue
3612
+ - version bump
3613
+ - don't show tag totals with zero times
3614
+ - zsh completion for doing
3615
+ - HTML styling
3616
+ - `--only_timed` option
3617
+ - added zsh completion file to `README.md`
3618
+ - add zsh completion file
3619
+
3620
+ ### 1.0.3pre
3621
+
3622
+ #### IMPROVED
3623
+
3624
+ - `done` command: making `--took` modify start time if `--back` isn't specified
3625
+ - Cleaned up time totals, improved HTML output
3626
+ - fixes for `--back` and `--took` parsing
3627
+ - Adding more complete terminal reporting to archive command
3628
+
3629
+ ### 1.0.0pre
3630
+
3631
+ #### IMPROVED
3632
+
3633
+ - Skipped ahead in the version numbering. Because I don't care.
3634
+ - Added a `note` command and `--note` flags for entry creation commands
3635
+
3636
+ ### 0.2.6pre
3637
+
3638
+ #### IMPROVED
3639
+
3640
+ - `--totals`, `--[no-]times`, `--output [csv,html]` options for `yesterday` command.
3641
+ - Add tests for Darwin to hide OS X-only features on other systems
3642
+ - `-f` flag to `now` command for finishing last task when starting a new one (Looks back for the last unfinished task in the list)
3643
+ - `--took` option for `done` and `finish` for specifying intervals from the start date for the completion date
3644
+ - Basic command line reporting
3645
+ - `--auto` flag for `finish` and `done` that will automatically set the completion time to 1 minute before the next start time in the list. You can use it retroactively to add times to sequential todos.
3646
+ - `doing grep` for searching by text or regex
3647
+
3648
+ ### 0.2.5
3649
+
3650
+ #### IMPROVED
3651
+
3652
+ - Default to showing times #26, show totals even if no tags exist #27, fix indentation #29
3653
+ - Add section label to archived tasks automatically, excepting `Currently` section
3654
+ - Today outputs and backdate for finish
3655
+ - HTML styling and fix for 1.8.7 HAML errors
3656
+ - Look, HTML output! (`--output html`)
3657
+ - Also, `--output csv`
3658
+ - let doing `archive` function on all sections
3659
+ - option to exclude date from _@done_,
3660
+ - output newlines in sections and views
3661
+ - Flagging (`doing mark`)
3662
+ - fix for view/section guess error
3663
+ - Adding tag filtering to archive command (`doing archive \@done`)
3664
+ - `doing yesterday`
3665
+ - `doing done -r` to remove last doing tag (optionally from `-s Section`)
3666
+ - Add `-f` flag to specify alternate doing file
3667
+ - `meanwhile` command
3668
+
3669
+ ### 0.2.1
3670
+
3671
+ #### IMPROVED
3672
+
3673
+ - CSV output for show command (`--csv`)
3674
+ - HTML output for show command (`--output html`)
3675
+ - fuzzy searching for all commands that specify a view.
3676
+ - In the terminal, you'll see "Assume you meant XXX" to show what match it found, but this is output to STDERR (and won't show up if you're redirecting the output or using it in GeekTool, etc.)
3677
+ - `tags_color` in view config to highlight tags at the end of the lines. Can be set to any of the `%colors`.
3678
+ - Basic time tracking.
3679
+ - `-t` on `show` and `view` will turn on time calculations
3680
+ - Intervals between timestamps and dated _@done_ tags are calculated for each line, if the tag exists.
3681
+ - You must include a `%interval` token in the appropriate template for it to show
3682
+ - _@start(date)_ tags can optionally be used to override the timestamp in the calculation
3683
+ - Any other tags in the line have that line's total added to them
3684
+ - Totals for tags can be displayed at the end of output with `--totals`
3685
+
3686
+
3687
+ ### 0.2.0
3688
+
3689
+ #### IMPROVED
3690
+
3691
+ - `doing done` without argument tags last entry done
3692
+ - `-a` archives them
3693
+ - `doing finish` or `doing finish X` marks last X entries done
3694
+ - `-a` archives them
3695
+ - `doing tag tag1 [tag2]` tags last entry or `-c X` entries
3696
+ - `doing tag -r tag1 [tag2]` removes said tag(s)
3697
+ - custom views additions
3698
+ - custom views can include `tags` and `tags_bool`
3699
+ - `tags` is a space-separated list of tags to filter the results by
3700
+ - `tags_bool` defines `AND` (all tags must exist), `OR` (any tag exists), or `NONE` (none of the tags exist)
3701
+ - `order` key (`asc` or `desc`) defines output sort order by date
3702
+ - section key can be set to `All` to combine sections
3703
+ - `doing show` updates
3704
+ - accepts `all` as a section
3705
+ - arguments following section name are tags to filter by
3706
+ - `-b` sets boolean (`AND`, `OR`, `NONE`) or (`ALL`, `ANY`, `NONE`) (default `OR`/`ANY`)
3707
+ - use `-c X` to limit results
3708
+ - use `-s` to set sort order (`asc` or `desc`)
3709
+ - use `-a` to set age (`newest` or `oldest`)
3710
+ - fuzzy section guessing when specified section isn't found
3711
+ - fuzzy view guessing for `doing view` command
3712
+
3713
+ ### 0.1.9
3714
+
3715
+ #### IMPROVED
3716
+
3717
+ - colors in templated output
3718
+ - `open` command
3719
+ - opens in the default app for file type
3720
+ - `-a APPNAME` (`doing open -a TaskPaper`)
3721
+ - `-b bundle_id` (`doing open -b com.sublimetext.3`)
3722
+ - `-e` switch for `now`, `later` and `done` commands
3723
+ - save a tmp file and open it in an editor
3724
+ - allows multi-line entries, anything after first line is considered a note
3725
+ - assumed when no input is provided (`doing now`)
3726
+ - `doing views` shows all available custom views
3727
+ - `doing view` without a view name will let you choose a view from a menu
3728
+ - `doing archive` fixed so that `-k X` works to keep `X` number of entries in the section
3729
+
3730
+ ### 0.1.7
3731
+
3732
+ #### IMPROVED
3733
+
3734
+ - colors in templated output
3735
+ - `open` command
3736
+ - opens in the default app for file type
3737
+ - `-a APPNAME` (`doing open -a TaskPaper`)
3738
+ - `-b bundle_id` (`doing open -b com.sublimetext.3`)
3739
+ - `-e` switch for `now`, `later`, and `done` commands
3740
+ - save a tmp file and open it in an editor
3741
+ - allows multi-line entries, anything after first line is considered a note
3742
+ - assumed when no input is provided (`doing now`)
3743
+
3744
+ doing### 2.1.30
3745
+
3746
+ 2022-02-16 07:18
3747
+
3748
+ #### IMPROVED
3749
+
3750
+ - `doing changes` does a better job of parsing a lookup string like '>= 2.1.10 < 2.1.15'
3751
+
3752
+ #### FIXED
3753
+
3754
+ - System agnostic platform detection, so commands that check for Darwin won't error out on other systems
3755
+ - `doing completions` debugging code
3756
+
3757
+ ### 2.1.29
3758
+
3759
+ 2022-02-14 12:42
3760
+
3761
+ #### IMPROVED
3762
+
3763
+ - `doing changes --interactive` will load up a changelog viewer using fzf. Because it makes me happy, that's why.
3764
+
3765
+ ### 2.1.28
3766
+
3767
+ 2022-02-14 11:39
3768
+
3769
+ #### FIXED
3770
+
3771
+ - Lines merging in `doing changes --changes` output
3772
+
3773
+ ### 2.1.27
3774
+
3775
+ 2022-02-14 06:04
3776
+
3777
+ #### NEW
3778
+
3779
+ - `doing finish --update` will overwrite any existing @done tag with a new date (current time or set with `--at` or `--back`)
3780
+
3781
+ #### IMPROVED
3782
+
3783
+ - Code refactoring and cleanup
3784
+ - Include release dates in `doing changes` output when available
3785
+ - Allow various naming conventions for %color strings in templates. Now `boldwhite`, `brightwhite`, `bg_bold_cyan`, and `bold_bg_cyan` all work (for example)
3786
+ - Common flags (e.g. --search, --tag) found on multiple commands consolidated and help descriptions matched
3787
+ - `commands_accepting` now accepts multiple arguments and a `--bool` flag
3788
+ - `changes` command can now output changes only (no version numbers) and defaults to raw Markdown if not a TTY or the `--md` flag is used
3789
+ - `doing archive` now accepts `--after` and `--from` date filters
3790
+
3791
+ #### FIXED
3792
+
3793
+ - Some flag descriptions in help
3794
+ - Editor detection
3795
+
3796
+ ### 2.1.26
3797
+
3798
+ 2022-01-23 16:14
3799
+
3800
+ #### NEW
3801
+
3802
+ - Use plugins.hidden_commands in configuration to disable any command (array of command names). Note that some commands use aliases and the first name should be used.
3803
+ - `doing commands [add|remove]` allows interactive enabling and disabling of default and custom commands
3804
+
3805
+ #### IMPROVED
3806
+
3807
+ - Moved all commands into separate files for management
3808
+
3809
+ #### FIXED
3810
+
3811
+ - Changelog command regex too greedy when parsing changelog
3812
+
3813
+ ### 2.1.25
3814
+
3815
+ 2022-01-23 09:25
3816
+
3817
+ ### 2.1.24
3818
+
3819
+ 2022-01-22 17:27
3820
+
3821
+ #### IMPROVED
3822
+
3823
+ - Minor update to Fish completion script
3824
+
3825
+ #### FIXED
3826
+
3827
+ - Changelog formatting issue
3828
+
3829
+ ### 2.1.23
3830
+
3831
+ 2022-01-22 15:52
3832
+
3833
+ #### NEW
3834
+
3835
+ - All display commands (except view) now accept `--config_template TEMPLATE_KEY` to override that commands default template.
3836
+ - Display commands accept `--template`, which takes a template string containing %placeholders and overrides the commands default template output. Affects grep, last, on, recent, show, since, today, yesterday
3837
+
3838
+ #### IMPROVED
3839
+
3840
+ - With complete examples in the help output for most commands, `doing help` almost always requires scrolling up. It now automatically paginates using your system $PAGER (or best detected option).
3841
+ - `doing tags` takes a MAX_COUNT argument to limit results when searching
3842
+ - `doing tags --line` flag to output tags in a single line
3843
+ - Mostly for my own use, `doing changes` (which views the changelog) now accepts `--lookup VERSION` and `--search SEARCH_PATTERN`
3844
+ - `doing changes --lookup` accepts `"< 2.1 > 2.0"`, `"2.1.10-2.2"`, a specific version, or a version number with wildcards
3845
+ - When registering hooks, you can pass an array to register a block for multiple events, assuming the events provide the same block arguments (like post_entry_added and post_entry_updated)
3846
+
3847
+ #### FIXED
3848
+
3849
+ - Running `--tag "@doing"` wouldn't work where `--tag "doing"` would. Now properly ignoring @ symbols
3850
+
3851
+ ### 2.1.22
3852
+
3853
+ 2022-01-21 14:53
3854
+
3855
+ ### 2.1.21
3856
+
3857
+ 2022-01-20 12:05
3858
+
3859
+ #### FIXED
3860
+
3861
+ - Custom types not available to custom commands
3862
+
3863
+ ### 2.1.20
3864
+
3865
+ 2022-01-20 11:49
3866
+
3867
+ #### NEW
3868
+
3869
+ - Autotag option for interactive `doing select` menu
3870
+ - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
3871
+ - Config setting doing_file_sort (asc or desc) determines the sort order of entries in the actual Doing file. Has no effect on other operations, just allows you to store the file with newest entries at top (desc) or bottom (asc).
3872
+
3873
+ #### IMPROVED
3874
+
3875
+ - Autotag improvements
3876
+ - If doing is run without a command but with arguments, execute it as if you'd run `doing now`, passing the arguments to that. So you can just write "doing this thing" instead of "doing now this thing", as long as the first word of the arguments is not a recognized command.
3877
+
3878
+ #### FIXED
3879
+
3880
+ - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
3881
+ - Error when using `doing finish --auto`
3882
+ - `doing on wed` when today is wednesday not returning results
3883
+ - Using `config set` with a false value deleted the key from config
3884
+ - `config set` with true or false value was inserting a quoted string
3885
+ - Entries were not being sorted (at all) within sections when writing the Doing file
3886
+
3887
+ ### 2.1.19
3888
+
3889
+ 2022-01-18 08:40
3890
+
3891
+ #### FIXED
3892
+
3893
+ - Search highlighting error with some pattern searches
3894
+ - Reverse sort of items in menu from `--interactive` flags
3895
+ - Nil error when `--interactive` was called without search results
3896
+
3897
+ ### 2.1.18
3898
+
3899
+ Build automation test
3900
+
3901
+ ### 2.1.17
3902
+
3903
+ 2022-01-18 07:26
3904
+
3905
+ #### NEW
3906
+
3907
+ - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
3908
+ - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
3909
+
3910
+ #### IMPROVED
3911
+
3912
+ - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
3913
+ - Allow `--ask` when creating new entry via STDIN pipe
3914
+ - Tab completion for known tags when creating an entry interactively
3915
+ - Add purple as an alias for magenta in template colors
3916
+
3917
+ #### FIXED
3918
+
3919
+ - Clear STDIN before requesting input
3920
+
3921
+ ### 2.1.16
3922
+
3923
+ 2022-01-18 02:45
3924
+
3925
+ #### NEW
3926
+
3927
+ - `doing done --from "3pm to 3:15pm"` to set start and end times with natural language string
3928
+
3929
+ #### IMPROVED
3930
+
3931
+ - Running `doing tag` without arguments takes command line input
3932
+ - If `doing now` or `doing later` are run without arguments, interactively request necessary information (you can still use `--editor` to edit in your preferred editor)
3933
+ - Tab completion for tags when entering at prompt
3934
+ - Use readline when requesting input text, better editing features
3935
+ - `doing done --at` no longer overrides `--back`
3936
+
3937
+ #### FIXED
3938
+
3939
+ - `doing select` -> output formatted empty output
3940
+ - Sort items by date when using `doing select --editor` (was loading in selection order instead)
3941
+ - Ruby 2.7 error in template output (.empty? on FalseClass)
3942
+ - Don't add empty entry when cancelling `--editor`
3943
+ - Batch editing bugs
3944
+
3945
+ ### 2.1.15
3946
+
3947
+ 2022-01-17 07:25
3948
+
3949
+ #### NEW
3950
+
3951
+ - When completing an entry, if the elapsed time would be greater than a (configurable) amount, doing will now ask for confirmation and allow you to enter a new duration before setting the @done date
3952
+
3953
+ #### IMPROVED
3954
+
3955
+ - When entering intervals, you can now use 1h30m in addition to 1.5h or 90m
3956
+ - Date expansion works in more circumstances
3957
+ - You can include date tags with natural language values when adding tags via `doing select`
3958
+
3959
+ #### FIXED
3960
+
3961
+ - Tags containing values with spaces no longer cause errors
3962
+
3963
+ ### 2.1.14
3964
+
3965
+ #### NEW
3966
+
3967
+ - All commands that accept `--note` now accept `--ask`, which requests input via readline after creating the note. Multiple lines are allowed, hit return twice to end editing. Works alongside `--note` and `--editor`
3968
+
3969
+ #### IMPROVED
3970
+
3971
+ - Implement `--search` and `--from` filtering for import plugins
3972
+ - UTC format date strings in select menus for consistency (was relative date formatting)
3973
+ - Don't populate the fzf search with `--search`, it's already filtered. Separated `--query` from `--search` if you do want to populate the query string in addition to `--search` filtering
3974
+ - When showing relative dates, don't include the year if the date is the previous year but a later month than the current month (less than a year old)
3975
+ - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
3976
+
3977
+ ### 2.1.13
3978
+
3979
+ #### NEW
3980
+
3981
+ - `--val` flag for all display commands, allows tag value queries. Tag values are contained in parenthesis after the tag, e.g. @progress(50). Queries look like `--val "done < two weeks ago"`, "project *= oracle" or "progress >= 50". Wildcards allowed in value, comparators can be <, >, <=, >=, ==, *= (contains), ^= (begins with), $= (ends with). Numeric and date comparisons are detected automatically. Text comparisons are case insensitive. `--val` can be used multiple times in a command and you can use `--bool` to specify AND, OR, or NOT (default AND)
3982
+ - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
3983
+
3984
+ #### FIXED
3985
+
3986
+ - `doing last --editor` errors
3987
+
3988
+ ### 2.1.12
3989
+
3990
+ #### NEW
3991
+
3992
+ - Tag_dir command creates/updates .doingrc files in the current directory with default_tags values. Then all entries created within that directory (or subdirs) get tagged with that value.
3993
+ - Synonym triggers allow `*` and `?` wildcards
3994
+ - Add `--delete` flag for `doing last` to delete last entry
3995
+ - `--delete` and `--editor` flags for `doing search`, batch edit and delete
3996
+ - Example hook to add new entries containing a certain tag to Day One
3997
+ - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
3998
+
3999
+ #### IMPROVED
4000
+
4001
+ - If you need to use a colon in an autotag transform pattern, you can split with double colon, e.g. pattern::replacement
4002
+ - Arrays defined in local configurations merge with main config instead of overwriting
4003
+
4004
+ #### FIXED
4005
+
4006
+ - `doing tags --interactive` wasn't showing menu
4007
+
4008
+ ### 2.1.10
4009
+
4010
+ #### NEW
4011
+
4012
+ - `--age` (oldest|newest) option for view command
4013
+
4014
+ ### 2.1.9
4015
+
4016
+ #### IMPROVED
4017
+
4018
+ - Only attempt to install fzf if it doesn't exist on the system. In case of errors, this means a user can manually install fzf and still be able to access `--interactive` options
4019
+
4020
+ #### FIXED
4021
+
4022
+ - Rotate command only archiving half of requested items
4023
+ - Frozen string error in doing import plugin
4024
+
4025
+ ### 2.1.8
4026
+
4027
+ #### NEW
4028
+
4029
+ - Hidden command `doing commands_accepting` which shows all commands that accept a given option, e.g. `doing commands_accepting search` shows all commands that take a search filter
4030
+ - Hidden command `doing changelog` which outputs a paginated, formatted version of the change history.
4031
+
4032
+ #### IMPROVED
4033
+
4034
+ - The output of `doing template --list` now shows the file type of each template
4035
+ - Output templates can now be saved to a default location/filename using `doing template html --save`
4036
+
4037
+ #### FIXED
4038
+
4039
+ - Error running `doing recent` on certain older ruby versions
4040
+
4041
+ ### 2.1.6
4042
+
4043
+ #### NEW
4044
+
4045
+ - `doing redo` undoes a redo
4046
+ - `doing undo -i` offers a list of available versions for selection
4047
+ - Multiple undo. Every time a command modifies the doing file, a backup is written. Running `doing undo` repeatedly steps back through history, `doing undo 5` jumps back 5 versions
4048
+ - When resetting via `doing select`, prompt for a date string
4049
+ - `doing reset` accepts a date string argument to use as start date instead of current time if provided
4050
+ - `doing tags` lists tags used in any/all sections, sortable, with or without frequency counts
4051
+ - `doing show --menu` offers an interactive menu for selecting section and tag filters
4052
+ - All commands that accept a `--tag` filter can now handle wildcards in the tag names. * to match any number of characters, ? to match a single character.
4053
+ - New boolean type for tag searches, PATTERN (which is now the default). Combine tags using symbols to create more complex boolean searches, e.g. "doing +coding -work"
4054
+ - You can now define `date_tags` in config, an array of tags/patterns that will be recognized when parsing for natural language dates which are converted when saving new entries
4055
+ - `--search` strings can contain quoted phrases and use +/- to require or ban terms, e.g. `--search 'doing +coding -writing'
4056
+ - Interactive option for redo command
4057
+ - Plugins for Day One export
4058
+
4059
+ #### IMPROVED
4060
+
4061
+ - Better diff output for fzf preview of `doing undo` history
4062
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
4063
+ - `doing redo` (a.k.a. `doing undo --redo`) can be run multiple times, stepping forward through undo history. Can also take a count to jump
4064
+ - Matching algorithm can be configured in settings
4065
+ - All template placeholders can now use the "printf" formatting that %title and %note have, allowing for padding, prefixes, etc.
4066
+ - Move default locations for doing file and backups to ~/.local/share/doing
4067
+ - `doing show --menu` will only offer tags that exist after any tag/search filters have been run
4068
+ - `doing show @tag` with `--menu` will first filter by the @tag, then do an OR search for tags selected from the menu
4069
+
4070
+ #### FIXED
4071
+
4072
+ - `doing reset` without filter not automatically affecting most recent entry
4073
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
4074
+ - Preserve colors when wrapping text to new lines
4075
+ - Tag highlighting errors
4076
+ - Template options specified in views were being overriden by options in templates. View config now has precedence, but will fall back to template config for missing keys
4077
+
4078
+ #### IMPROVED
4079
+
4080
+ - Better diff output for fzf preview of `doing undo` history
4081
+ - Fall back to good ol' sed for colorizing diffs when no good tool is available
4082
+ - `doing redo` (a.k.a. `doing undo --redo`) can be run multiple times, stepping forward through undo history. Can also take a count to jump
4083
+
4084
+ #### FIXED
4085
+
4086
+ - `doing reset` without filter not automatically affecting most recent entry
4087
+ - `config set` now preserves value type (string, array, mapping) of previous value, coercing new value if needed
4088
+
4089
+ ### 2.1.3
4090
+
4091
+ #### NEW
4092
+
4093
+ - BREAKING CHANGE: custom classes for Section (hash) and Items (Array). @content is still a regular Hash. Sections have methods :original and :items. This will affect plugins as wwid.content[section][:items] is now wwid[section].items (same for :original)
4094
+ - `doing config set -r key.path` will delete a key from any config file, removing empty parent keys
4095
+ - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
4096
+ - When modifying start dates or @done dates via an editor command, natural language strings can be used and will be parsed into doing-formatted dates automatically
4097
+ - When editor is invoked, entry titles include start date, which can be modified
4098
+ - `--before`, `--after`, and `--from` date filters for select command
4099
+ - `--from` flag for `doing today` and `doing yesterday`, filter by time range
4100
+ - `--from` flag for `doing search`, filter by date/time range
4101
+ - Commands that accept `--before`, `--after`, and `--from` can now filter on time ranges. If the date string given contains only a time (no day or date), it will be interpreted as a time range, meaning the date isn't filtered, but only entries within the time range are shown/processed
4102
+ - Add %duration placeholder to template variables
4103
+ - Add `interval_format` setting to config (applies to root or any view/template) to set intervals/durations to human (2h 15m) or text (00:02:15)
4104
+ - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
4105
+ - Most display commands now have a `--duration` flag that will display an elapsed time if the entry is not marked @done
4106
+
4107
+ #### IMPROVED
4108
+
4109
+ - Config -o raw outputs value as YAML if result is a Hash/mapping, unquoted string if a single value, comma-separated list if it's an Array.
4110
+ - Config -o json no longer includes key, only value.
4111
+ - System agnostic method for checking available executables (pager, editor)
4112
+ - Using `config set` and selecting a local config will no longer write the entire config to the local .doingrc. Instead, a nested path to the particular setting will be added to the config file.
4113
+ - Config set will create missing keys. Fuzzy matching will work until the path fails, then path elements after that point will be added as verbatim keys to the specified configuration (with confirmation)
4114
+ - Make menus only as tall as needed, so 5 options don't take up the whole screen
4115
+ - Better word wrap for long note lines
4116
+
4117
+ #### FIXED
4118
+
4119
+ - `finish --took 60m` is supposed to backdate the start date if needed to finish at the current time and maintain an elapsed time
4120
+ - If an editor was specified for config (or default as fallback) with command line options (e.g. `emacs -nw`), Doing would fail to recognize that the executable was available.
4121
+
4122
+ ### 2.0.25
4123
+
4124
+ #### NEW
4125
+
4126
+ - `doing config set` to set single config values from command line
4127
+ - BREAKING CHANGE: Moves ~/.doingrc to ~/.config/doing/config.yml
4128
+ - BREAKING CHANGE: convert config flags to subcommands, e.g. `doing config --udpate` => `doing config update`, and `doing config --dump` => `doing config dump`
4129
+
4130
+ ### 2.0.24
4131
+
4132
+ - include fzf source directly, in case git isn't installed
4133
+ - fall back to installing fzf with sudo on error
4134
+
4135
+ ### 2.0.20
4136
+
4137
+ #### IMPROVED
4138
+
4139
+ - completion script generator refactor and progress bars
4140
+
4141
+ #### FIXED
4142
+
4143
+ - compile fzf for current operating system
4144
+
4145
+ ### 2.0.19
4146
+
4147
+ #### FIXED
4148
+
4149
+ - Remove any coloring before writing to doing file
4150
+
4151
+ ### 2.0.18
4152
+
4153
+ #### FIXED
4154
+
4155
+ - Escape codes being included in doing file
4156
+
4157
+ ### 2.0.17
4158
+
4159
+ #### IMPROVED
4160
+
4161
+ - Improvements to %title formatting and wrapping
4162
+
4163
+ ### 2.0.16
4164
+
4165
+ - Test release to validate git flow automation
4166
+
4167
+ ### 2.0.13
4168
+
4169
+ #### FIXED
4170
+
4171
+ - Remove amatch gem dependency due to compatibility issues with Windows systems (also removes `--fuzzy` option from all search commands)
4172
+
4173
+ ### 2.0.11
4174
+
4175
+ #### NEW
4176
+
4177
+ - Append `/r` to tag transforms to replace original tag
4178
+
4179
+ #### FIXED
4180
+
4181
+ - Autotag tag transform fixes
4182
+
4183
+ ### 2.0.10
4184
+
4185
+ #### NEW
4186
+
4187
+ - Add 'timer_format' config with 'human' option for tag totals
4188
+ - If `doing view` and `doing show` are confused, offer option to run the other command
4189
+ - `doing completion` to generate shell completion scripts for zsh, bash, and fish
4190
+ - `--search` and `--not` for cancel command
4191
+ - `--case` flag for commands with `--search`. Can be (c)ase-sensitive, (i)nsensitive, or (s)mart (default smart, case insensitive unless search string contains uppercase letters)
4192
+ - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
4193
+ - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
4194
+
4195
+ #### IMPROVED
4196
+
4197
+ - More command line feedback
4198
+ - Error formatting and output
4199
+ - Add subcommand completion for `doing help` in fish shell
4200
+ - Logging and error handling
4201
+
4202
+ #### FIXED
4203
+
4204
+ - Zsh completion not outputting results
4205
+ - Remove `--[no]` from non-negatable options
4206
+ - `doing plugins -t export -c` not outputting columns
4207
+ - View config not respecting tag_order setting
4208
+
4209
+ ### 2.0.3.pre
4210
+
4211
+ #### NEW
4212
+
4213
+ - Import calendar events from Calendar.app on macOS
4214
+ - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
4215
+ - Add %idnote template placeholder for "indented note" (entire note indented one tab)
4216
+ - (loosely printf-esque) formatting options for `%note` template placeholder
4217
+ - `--interactive` mode to act on results of `doing grep`
4218
+ - Printf formatting for title and date
4219
+ - Doing import plugin
4220
+ - Plugins command to list plugins
4221
+ - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
4222
+ - `--no-color` global flag
4223
+ - Log levels, with `--quiet` and `--verbose` global flags
4224
+ - Convert CLI messaging to Logger-based system
4225
+ - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
4226
+ - Hooks, register plugins to run based on events
4227
+ - --[no-]pager and paginate: config option to enable paging output
4228
+ - Never_finish and never_time config options to prevent items matching tags/sections from ever receiving @done (never_finish) or @done timestamp (never_time) - More configuration refactoring
4229
+
4230
+ #### IMPROVED
4231
+
4232
+ - Timeline output formatting
4233
+ - Major plugin architecture refactoring
4234
+ - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
4235
+ - When accepting a date filter, allow end date to be in the future
4236
+ - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
4237
+ - Select menu item formatting
4238
+ - Output wrapping for terminal display
4239
+ - Redirect warn to STDOUT when run with `--stdout`
4240
+ - Fish autocomplete
4241
+ - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
4242
+ - When `--stdout` or not a TTY, no color or output formatting
4243
+ - Highlight tags when showing results. Because it looks nice.
4244
+ - `--tag` and `--search` for `doing note`
4245
+ - View/section fuzzy guessing
4246
+ - Error reporting
4247
+ - If `doing config` finds local doingrc files, offers a menu for editing
4248
+ - More filtering options for `doing finish`
4249
+ - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
4250
+ - Doing done accepts `--note` flag to append a note when completing an entry
4251
+
4252
+ #### FIXED
4253
+
4254
+ - Multi-word unquoted arguments to add_section being truncated
4255
+ - Show `--from` with date span
4256
+ - Handling of arbitrary times in natural language dates
4257
+ - Backward scope of since command with arbitrary times
4258
+ - `doing rotate --keep` wasn't respecting keep value
4259
+
4260
+ ### 1.0.93
4261
+
4262
+ #### FIXED
4263
+
4264
+ - Gemfile error
4265
+
4266
+ ### 1.0.91
4267
+
4268
+ #### NEW
4269
+
4270
+ - "taskpaper" format available for all output options
4271
+ - "markdown" format available for all output commands (GFM-style task list, customizable template)
4272
+ - `--rename` option for tag command to replace tags
4273
+ - `--regex` option for tag command, for `--remove` and `--rename`
4274
+
4275
+ ### 1.0.90
4276
+
4277
+ #### IMPROVED
4278
+
4279
+ - doing finish `--auto` now pulls from all sections, not just the section of the target entry
4280
+
4281
+ #### FIXED
4282
+
4283
+ - Minor fix for shell command in doing select
4284
+ - Fix for doing finish `--auto` when matched item is last in list
4285
+
4286
+ ### 1.0.89
4287
+
4288
+ #### NEW
4289
+
4290
+ - Pretty print JSON output
4291
+ - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
4292
+
4293
+ ### 1.0.88
4294
+
4295
+ #### IMPROVED
4296
+
4297
+ - Add `--before` and `--after` time search to yesterday command
4298
+ - Add `--before` and `--after` date search to search/grep command
4299
+ - Add `--tag_order` to yesterday command
4300
+
4301
+ ### 1.0.87
4302
+
4303
+ #### IMPROVED
4304
+
4305
+ - Add leading spaces to make %shortdate align properly, at least for the last week
4306
+ - Add `--tag`, `--bool`, and `--search` to view command
4307
+ - Add `--before` and `--after` date search to view command
4308
+ - Add `--before` and `--after` date search to show command
4309
+ - Add `--before` and `--after` time search to today command
4310
+ - Add `--search` filter to show command
4311
+ - More alignment/formatting fixes for %shortdate
4312
+
4313
+ ### 1.0.86
4314
+
4315
+ #### IMPROVED
4316
+
4317
+ - Add `count` config option for templates->recent
4318
+
4319
+ ### 1.0.85
4320
+
4321
+ #### IMPROVED
4322
+
4323
+ - Add `--before` DATE_STRING to archive and rotate commands
4324
+ - Only create on rotate file per day, merge new entries into existing file
4325
+
4326
+ #### FIXED
4327
+
4328
+ - Fix `--auto` for finish command
4329
+
4330
+ ### 1.0.84
4331
+
4332
+ #### NEW
4333
+
4334
+ - `rotate` command for archiving entries to new file
4335
+
4336
+ #### FIXED
4337
+
4338
+ - Fixed current_section config key not being honored in some commands
4339
+
4340
+ ### 1.0.83
4341
+
4342
+ #### FIXED
4343
+
4344
+ - Fixes for `doing view` options, additional config keys for views
4345
+
4346
+ ### 1.0.82
4347
+
4348
+ #### FIXED
4349
+
4350
+ - Bugfixes
4351
+
4352
+ ### 1.0.81
4353
+
4354
+ #### IMPROVED
4355
+
4356
+ - fzf menu improvements
4357
+ - allow multiple selections `doing select` action menu
4358
+
4359
+ ### 1.0.80
4360
+
4361
+ #### IMPROVED
4362
+
4363
+ - Convert all menus to fzf screens
4364
+
4365
+ ### 1.0.79
4366
+
4367
+ #### IMPROVED
4368
+
4369
+ - Wildcard tag removal using `doing select -t "tag*" -r`
4370
+ - fzf menu display polish
4371
+
4372
+ #### FIXED
4373
+
4374
+ #### FIXED
4375
+
4376
+ - Gem missing fzf
4377
+
4378
+ ### 1.0.78
4379
+
4380
+ #### IMPROVED
4381
+
4382
+ - If no action is specified with select command, an interactive menu is
4383
+ presented
4384
+ - add output action select command with formatting and save options
4385
+ - Don't link URLs in html output that don't have a protocol
4386
+
4387
+ ### 1.0.76
4388
+
4389
+ #### IMPROVED
4390
+
4391
+ - Refine editing multiple selections (doing select)
4392
+
4393
+ ### 1.0.74
4394
+
4395
+ #### NEW
4396
+
4397
+ - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
4398
+ - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
4399
+
4400
+ ### 1.0.73
4401
+
4402
+ #### FIXED
4403
+
4404
+ - Fix for timeline output
4405
+
4406
+ ### 1.0.72
4407
+
4408
+ #### NEW
4409
+
4410
+ - Add `doing select` to show menu of all tasks, searchable with fuzzy matching and the ability to perform certain tasks on multiple selections.
4411
+
4412
+ ### 1.0.71
4413
+
4414
+ #### FIXED
4415
+
4416
+ - Fix for template command not working at all
4417
+
4418
+ ### 1.0.70
4419
+
4420
+ #### FIXED
4421
+
4422
+ - Fix for `doing done --took 30m` setting the wrong @done timestamp when completing previous item
4423
+
4424
+ ### 1.0.69
4425
+
4426
+ #### IMPROVED
4427
+
4428
+ - Add `--unfinished` option to finish and cancel commands
4429
+
4430
+ ### 1.0.68
4431
+
4432
+ #### FIXED
4433
+
4434
+ - Fix error in `doing show --sort` argument parsing
4435
+
4436
+ ### 1.0.67
4437
+
4438
+ #### FIXED
4439
+
4440
+ - Gem packaging error
4441
+
4442
+ ### 1.0.66
4443
+
4444
+ #### IMPROVED
4445
+
4446
+ - More flexible boolean specification, can be: all, and, any, or, not, or none
4447
+
4448
+ #### FIXED
4449
+
4450
+ - Fix for some long flags being interpreted as arrays instead of strings
4451
+ - Fix for archive command not removing original entries from archived section
4452
+
4453
+ ### 1.0.65
4454
+
4455
+ #### IMPROVED
4456
+
4457
+ - Prevent duplicates/overlapping entries when importing
4458
+
4459
+ ### 1.0.64
4460
+
4461
+ #### NEW
4462
+
4463
+ - Initial import feature for Timing.app reports
4464
+
4465
+ ### 1.0.63
4466
+
4467
+ #### IMPROVED
4468
+
4469
+ - If `doing done --took=X` results in completion date greater than current time, use current time as completion date and backdate the entry's timestamp to fit
4470
+
4471
+ ### 1.0.62
4472
+
4473
+ #### FIXED
4474
+
4475
+ - `doing done` with `--took=` and without `--back=` should set end time to start date plus `--took` value
4476
+
4477
+ ### 1.0.61
4478
+
4479
+ #### IMPROVED
4480
+
4481
+ - Add `--search` filter to `doing archive`
4482
+
4483
+ ### 1.0.60
4484
+
4485
+ #### FIXED
4486
+
4487
+ - Default value for `doing again --bool` was ALL, should be AND
4488
+
4489
+ ### 1.0.59
4490
+
4491
+ #### IMPROVED
4492
+
4493
+ - Improvements to `doing again --tag=` functionality
4494
+
4495
+ ### 1.0.58
4496
+
4497
+ #### IMPROVED
4498
+
4499
+ - Finish previous task if `doing again` and not already completed
4500
+
4501
+ ### 1.0.57
4502
+
4503
+ #### IMPROVED
4504
+
4505
+ - Unit tests
4506
+
4507
+ ### 1.0.56
4508
+
4509
+ #### IMPROVED
4510
+
4511
+ - Tag command tests
4512
+
4513
+ #### FIXED
4514
+
4515
+ - Doing not reading per-directory .doingrc configs
4516
+
4517
+ ### 1.0.55
4518
+
4519
+ #### NEW
4520
+
4521
+ - Added config_editor_app setting to config so you can have
4522
+ - A parenthetical at the end of an entry title becomes an attached
4523
+ - `--editor` flag for `doing last` to edit last entry
4524
+ - `--tag=` flag to filter `doing last` by tag
4525
+ - `--search=` to filter `doing last` by text/regex search
4526
+ - `--search=` for `doing finish`, finish last X entries matching search
4527
+ - Add `tags_color` as a primary config key to highlight @tags in displayed entries
4528
+
4529
+ #### IMPROVED
4530
+
4531
+ - Clean up command line help
4532
+ - `--editor` improvements for all commands that use it
4533
+
4534
+ #### FIXED
4535
+
4536
+ - Doing finish `--took` throwing error
4537
+ - Doing tag `--remove` was adding tags if they didn't exist
4538
+ - Creating a meanwhile task with a note resulted in an error
4539
+
4540
+ ### 1.0.54
4541
+
4542
+ #### FIXED
4543
+
4544
+ - Bugfix for `finish --tag=TAG`
4545
+
4546
+ ### 1.0.53
4547
+
4548
+ #### NEW
4549
+
4550
+ - `--tag` and `--bool` filtering for again/resume, cancel
4551
+ - `--in` flag for `again`/`resume` to specify to which section the new
4552
+ - Finish command accepts `--tag=` flag, finishing last entry
4553
+ - `doing cancel` to end X tasks without completion date
4554
+
4555
+ #### IMPROVED
4556
+
4557
+ - Add `--no-color` option to view command
4558
+ - Add `--tag` to show for compatibility
4559
+
4560
+ #### FIXED
4561
+
4562
+ - Error running finish without `--tag` flag
4563
+ - `--archive` flag on finish, done, and cancel causing error
4564
+
4565
+ ### 1.0.52
4566
+
4567
+ #### NEW
4568
+
4569
+ - Finish command accepts `--tag=` flag, finishing last entry
4570
+
4571
+ #### FIXED
4572
+
4573
+ - `--archive` flag on finish, done, and cancel causing error
4574
+
4575
+ ### 1.0.49
4576
+
4577
+ #### FIXED
4578
+
4579
+ - Fix for missing date on @done tags
4580
+
4581
+ ### 1.0.48
4582
+
4583
+ #### FIXED
4584
+
4585
+ - Fix confirmation dialog for `doing tag -a -c 0` (autotag all)
4586
+
4587
+ ### 1.0.47
4588
+
4589
+ #### IMPROVED
4590
+
4591
+ - Remove check for file existence before attempting to run run_after script
4592
+ - Don't autotag entries restarted with `again/resume`
4593
+ - Add short flags (`-b`) for `--back` on all commands that support it
4594
+
4595
+ ### 1.0.46
4596
+
4597
+ #### IMPROVED
4598
+
4599
+ - Code cleanup
4600
+
4601
+ ### 1.0.45
4602
+
4603
+ #### IMPROVED
4604
+
4605
+ - Only execute run_after script if changes are written
4606
+
4607
+ ### 1.0.44
4608
+
4609
+ #### IMPROVED
4610
+
4611
+ - Remove unnecessary console logging
4612
+
4613
+ ### 1.0.43
4614
+
4615
+ #### NEW
4616
+
4617
+ - Add `again` command to repeat last entry without @done tag
4618
+ - Add `run_after` configuration option to execute external script after any change
4619
+
4620
+ ### 1.0.42
4621
+
4622
+ #### FIXED
4623
+
4624
+ - Fix note indentation in doing file
4625
+
4626
+ ### 1.0.41
4627
+
4628
+ #### FIXED
4629
+
4630
+ - Fix for repeated backreferences in tag transform
4631
+
4632
+ ### 1.0.40
4633
+
4634
+ #### IMPROVED
4635
+
4636
+ - Add `--tag_sort` to all subcommands with `--totals` option
4637
+
4638
+ ### 1.0.39
4639
+
4640
+ #### NEW
4641
+
4642
+ - Tag transforms
4643
+ - Option to sort tags by name in `--totals`
4644
+
4645
+ ### 1.0.33
4646
+
4647
+ #### FIXED
4648
+
4649
+ - Gem dependency updates
4650
+
4651
+ ### 1.0.30
4652
+
4653
+ #### FIXED
4654
+
4655
+ - Fix for array comparison error
4656
+
4657
+ ### 1.0.29
4658
+
4659
+ #### FIXED
4660
+
4661
+ - Bugfixes
4662
+
4663
+ ### 1.0.28
4664
+
4665
+ #### IMPROVED
4666
+
4667
+ - Global option `-x` to skip autotags and default_tags from global/local .doingrc
4668
+ - Remove extra spaces when creating entry
4669
+
4670
+ ### 1.0.27
4671
+
4672
+ #### IMPROVED
4673
+
4674
+ - More graceful writing of default config (~/.doingrc) on first run
4675
+ - Repaired testing setup. Needs moar tests.
4676
+
4677
+ ### 1.0.26
4678
+
4679
+ #### IMPROVED
4680
+
4681
+ - Add `--at` flag for `doing done`, e.g. `doing done --at=1:35pm --took=15m A new task I already finished`
4682
+ - Allow decimal quantities when using natural language for hours or days, e.g. `--took=2.5h`
4683
+ - Add `did` as a synonym for `done` subcommand
4684
+
4685
+ ### 1.0.25
4686
+
4687
+ #### IMPROVED
4688
+
4689
+ #### IMPROVED
4690
+
4691
+ - Smarter method of getting user $HOME
4692
+ - Improved avoiding duplicate tags when autotagging
4693
+ - Improved autotag reporting
4694
+
4695
+ ### 1.0.24
4696
+
4697
+ #### IMPROVED
4698
+
4699
+ - `doing note` operates on whatever is most recent, not just the last note in Currently
4700
+ - `doing tag` with no count specified operates on most recent entry in any section, not just Currently
4701
+ - `doing tag` with a count greater than 1 requires a section to be specified
4702
+ - Improved results reporting for `doing tag`
4703
+ - When removing tag do a whole-word match to avoid removing part of a longer tag
4704
+
4705
+ ### 1.0.23
4706
+
4707
+ #### IMPROVED
4708
+
4709
+ - Apply default_tags after autotagging to avoid tags triggering tags
4710
+ - Set `doing recent` to default to All sections instead of Currently
4711
+ - Fix error in time reporting
4712
+ - improved y/n prompt for TTY
4713
+
4714
+ ### 1.0.22
4715
+
4716
+ #### IMPROVED
4717
+
4718
+ - Allow cascading of local config files
4719
+ - Allow `doing today` and `yesterday` to specify a section
4720
+
4721
+ #### FIXED
4722
+
4723
+ - Fix handling of "local" config files, allowing per-project configurations
4724
+
4725
+ ### 1.0.21
4726
+
4727
+ #### NEW
4728
+
4729
+ - Add legitimate regex search capabilities
4730
+ - Synonyms for grep (search) and now (next)
4731
+
4732
+ #### FIXED
4733
+
4734
+ - CSS fix
4735
+
4736
+ ### 1.0.20
4737
+
4738
+ #### NEW
4739
+
4740
+ - New command `doing templates` to export default templates for HAML and CSS
4741
+ - New config options under `html_template` for `haml` and `css`
4742
+
4743
+ #### IMPROVED
4744
+
4745
+ - Rewrite HTML export templates with responsive layout and typography
4746
+ - Ability to customize the HTML output using HAML and CSS
4747
+
4748
+ ### 1.0.19
4749
+
4750
+ #### IMPROVED
4751
+
4752
+ - For `doing note -e` include the entry title so you know what you're adding a note to
4753
+ - For any other command that allows `-e` include a comment noting that anything after the first line creates a note
4754
+ - Ignore # comments when parsing editor results
4755
+ - Add a .md extension to the temp file passed to the editor so you can take advantage of any syntax highlighting and other features in your editor
4756
+
4757
+ ### 1.0.18
4758
+
4759
+ #### IMPROVED
4760
+
4761
+ - Loosened up the template color resetting a bit more
4762
+
4763
+ #### FIXED
4764
+
4765
+ - Fix `undefined method [] for nil class` error in `doing view`
4766
+
4767
+ ### 1.0.17
4768
+
4769
+ #### NEW
4770
+
4771
+ - Add `--stdout` global option to send reporting to STDOUT instead of STDERR (for use with LaunchBar et al)
4772
+
4773
+ ### 1.0.16
4774
+
4775
+ #### FIXED
4776
+
4777
+ - Fixes overzealous color resetting
4778
+
4779
+ ### 1.0.15
4780
+
4781
+ #### FIXED
4782
+
4783
+ - CLI/text totals block was outputting when HTML output was selected
4784
+ - Have all template colors reset bold and background automatically when called
4785
+
4786
+ ### 1.0.14
4787
+
4788
+ #### IMPROVED
4789
+
4790
+ - Fish completion
4791
+ - views and sections subcommands have -c option to output single column
4792
+ - Fix html title when tag_bool is NONE
4793
+ - Fix @from tagging missing closing paren
4794
+ - Fix tag coloring
4795
+
4796
+ ### 1.0.13
4797
+
4798
+ #### FIXED
4799
+
4800
+ - Fix gsub error in doing meanwhile
4801
+
4802
+ ### 1.0.8pre
4803
+
4804
+ #### NEW
4805
+
4806
+ - added doing on command
4807
+ - Added autotagging to tag command
4808
+ - JSON output option to view commands
4809
+ - date filtering, improved date language
4810
+ - let view templates define output format (csv, json, html, template)
4811
+
4812
+ #### IMPROVED
4813
+
4814
+ - add `%chompnote` template variable (item note with newlines and extra whitespace stripped)
4815
+
4816
+ ### 1.0.7pre
4817
+
4818
+ #### IMPROVED
4819
+
4820
+ - Slightly fuzzier searching in the grep command
4821
+ - cleaner exits, `only_timed` key for view configs
4822
+ - making the note command append new notes better, and load existing notes in the editor if `-e` is called
4823
+ - handle multiple tag input in `show` tag filter
4824
+ - Global tag operations, better reporting
4825
+
4826
+ #### FIXED
4827
+
4828
+ - fix for `-v` option
4829
+
4830
+ ### 1.0.4pre
4831
+
4832
+ #### IMPROVED
4833
+
4834
+ - Improved HTML output
4835
+ - `--only_timed` option for view/show commands that only outputs items with elapsed timers (interval between start and done dates)
4836
+ - add seconds for timed items in CSV output, run `--only_timed` before chopping off `--count #`
4837
+ - fix for 1.8.7 `Dir.home` issue
4838
+ - version bump
4839
+ - don't show tag totals with zero times
4840
+ - zsh completion for doing
4841
+ - HTML styling
4842
+ - `--only_timed` option
4843
+ - added zsh completion file to `README.md`
4844
+ - add zsh completion file
4845
+
4846
+ ### 1.0.3pre
4847
+
4848
+ #### IMPROVED
4849
+
4850
+ - `done` command: making `--took` modify start time if `--back` isn't specified
4851
+ - Cleaned up time totals, improved HTML output
4852
+ - fixes for `--back` and `--took` parsing
4853
+ - Adding more complete terminal reporting to archive command
4854
+
4855
+ ### 1.0.0pre
4856
+
4857
+ #### IMPROVED
4858
+
4859
+ - Skipped ahead in the version numbering. Because I don't care.
4860
+ - Added a `note` command and `--note` flags for entry creation commands
4861
+
4862
+ ### 0.2.6pre
4863
+
4864
+ #### IMPROVED
4865
+
4866
+ - `--totals`, `--[no-]times`, `--output [csv,html]` options for `yesterday` command.
4867
+ - Add tests for Darwin to hide OS X-only features on other systems
4868
+ - `-f` flag to `now` command for finishing last task when starting a new one (Looks back for the last unfinished task in the list)
4869
+ - `--took` option for `done` and `finish` for specifying intervals from the start date for the completion date
4870
+ - Basic command line reporting
4871
+ - `--auto` flag for `finish` and `done` that will automatically set the completion time to 1 minute before the next start time in the list. You can use it retroactively to add times to sequential todos.
4872
+ - `doing grep` for searching by text or regex
4873
+
4874
+ ### 0.2.5
4875
+
4876
+ #### IMPROVED
4877
+
4878
+ - Default to showing times #26, show totals even if no tags exist #27, fix indentation #29
4879
+ - Add section label to archived tasks automatically, excepting `Currently` section
4880
+ - Today outputs and backdate for finish
4881
+ - HTML styling and fix for 1.8.7 HAML errors
4882
+ - Look, HTML output! (`--output html`)
4883
+ - Also, `--output csv`
4884
+ - let doing `archive` function on all sections
4885
+ - option to exclude date from _@done_,
4886
+ - output newlines in sections and views
4887
+ - Flagging (`doing mark`)
4888
+ - fix for view/section guess error
4889
+ - Adding tag filtering to archive command (`doing archive \@done`)
4890
+ - `doing yesterday`
4891
+ - `doing done -r` to remove last doing tag (optionally from `-s Section`)
4892
+ - Add `-f` flag to specify alternate doing file
4893
+ - `meanwhile` command
4894
+
4895
+ ### 0.2.1
4896
+
4897
+ #### IMPROVED
4898
+
4899
+ - CSV output for show command (`--csv`)
4900
+ - HTML output for show command (`--output html`)
4901
+ - fuzzy searching for all commands that specify a view.
4902
+ - In the terminal, you'll see "Assume you meant XXX" to show what match it found, but this is output to STDERR (and won't show up if you're redirecting the output or using it in GeekTool, etc.)
4903
+ - `tags_color` in view config to highlight tags at the end of the lines. Can be set to any of the `%colors`.
4904
+ - Basic time tracking.
4905
+ - `-t` on `show` and `view` will turn on time calculations
4906
+ - Intervals between timestamps and dated _@done_ tags are calculated for each line, if the tag exists.
4907
+ - You must include a `%interval` token in the appropriate template for it to show
4908
+ - _@start(date)_ tags can optionally be used to override the timestamp in the calculation
4909
+ - Any other tags in the line have that line's total added to them
4910
+ - Totals for tags can be displayed at the end of output with `--totals`
4911
+
4912
+
4913
+ ### 0.2.0
4914
+
4915
+ #### IMPROVED
4916
+
4917
+ - `doing done` without argument tags last entry done
4918
+ - `-a` archives them
4919
+ - `doing finish` or `doing finish X` marks last X entries done
4920
+ - `-a` archives them
4921
+ - `doing tag tag1 [tag2]` tags last entry or `-c X` entries
4922
+ - `doing tag -r tag1 [tag2]` removes said tag(s)
4923
+ - custom views additions
4924
+ - custom views can include `tags` and `tags_bool`
4925
+ - `tags` is a space-separated list of tags to filter the results by
4926
+ - `tags_bool` defines `AND` (all tags must exist), `OR` (any tag exists), or `NONE` (none of the tags exist)
4927
+ - `order` key (`asc` or `desc`) defines output sort order by date
4928
+ - section key can be set to `All` to combine sections
4929
+ - `doing show` updates
4930
+ - accepts `all` as a section
4931
+ - arguments following section name are tags to filter by
4932
+ - `-b` sets boolean (`AND`, `OR`, `NONE`) or (`ALL`, `ANY`, `NONE`) (default `OR`/`ANY`)
4933
+ - use `-c X` to limit results
4934
+ - use `-s` to set sort order (`asc` or `desc`)
4935
+ - use `-a` to set age (`newest` or `oldest`)
4936
+ - fuzzy section guessing when specified section isn't found
4937
+ - fuzzy view guessing for `doing view` command
4938
+
4939
+ ### 0.1.9
4940
+
4941
+ #### IMPROVED
4942
+
4943
+ - colors in templated output
4944
+ - `open` command
4945
+ - opens in the default app for file type
4946
+ - `-a APPNAME` (`doing open -a TaskPaper`)
4947
+ - `-b bundle_id` (`doing open -b com.sublimetext.3`)
4948
+ - `-e` switch for `now`, `later` and `done` commands
4949
+ - save a tmp file and open it in an editor
4950
+ - allows multi-line entries, anything after first line is considered a note
4951
+ - assumed when no input is provided (`doing now`)
4952
+ - `doing views` shows all available custom views
4953
+ - `doing view` without a view name will let you choose a view from a menu
4954
+ - `doing archive` fixed so that `-k X` works to keep `X` number of entries in the section
4955
+
4956
+ ### 0.1.7
4957
+
4958
+ #### IMPROVED
4959
+
4960
+ - colors in templated output
4961
+ - `open` command
4962
+ - opens in the default app for file type
4963
+ - `-a APPNAME` (`doing open -a TaskPaper`)
4964
+ - `-b bundle_id` (`doing open -b com.sublimetext.3`)
4965
+ - `-e` switch for `now`, `later`, and `done` commands
4966
+ - save a tmp file and open it in an editor
4967
+ - allows multi-line entries, anything after first line is considered a note
4968
+ - assumed when no input is provided (`doing now`)
4969
+
4970
+ and hitting tab will offer completions of subcommands and their options.' command :completion do |c|
4971
+ - When generating completion scripts using `doing completion --file FILE_PATH`, if the file specified is not in an auto-load directory for the shell type, offer to symlink the output to an appropriate directory
4972
+
1
4973
  ### 2.1.30
2
4974
 
3
4975
  2022-02-16 07:18