doing 2.1.30 → 2.1.31pre

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