doing 2.1.29 → 2.1.33

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