doing 2.1.17 → 2.1.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +15 -14
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/CHANGELOG.md +117 -53
  6. data/Gemfile.lock +11 -11
  7. data/README.md +1 -1
  8. data/Rakefile +12 -4
  9. data/bin/doing +161 -205
  10. data/docs/doc/Array.html +9 -37
  11. data/docs/doc/BooleanTermParser/Clause.html +3 -3
  12. data/docs/doc/BooleanTermParser/Operator.html +3 -3
  13. data/docs/doc/BooleanTermParser/Query.html +3 -3
  14. data/docs/doc/BooleanTermParser/QueryParser.html +3 -3
  15. data/docs/doc/BooleanTermParser/QueryTransformer.html +3 -3
  16. data/docs/doc/BooleanTermParser.html +3 -3
  17. data/docs/doc/Doing/Color.html +3 -3
  18. data/docs/doc/Doing/Completion.html +3 -3
  19. data/docs/doc/Doing/Configuration.html +4 -3
  20. data/docs/doc/Doing/Errors/DoingNoTraceError.html +3 -3
  21. data/docs/doc/Doing/Errors/DoingRuntimeError.html +3 -3
  22. data/docs/doc/Doing/Errors/DoingStandardError.html +3 -3
  23. data/docs/doc/Doing/Errors/EmptyInput.html +3 -3
  24. data/docs/doc/Doing/Errors/NoResults.html +3 -3
  25. data/docs/doc/Doing/Errors/PluginException.html +3 -3
  26. data/docs/doc/Doing/Errors/UserCancelled.html +3 -3
  27. data/docs/doc/Doing/Errors/WrongCommand.html +3 -3
  28. data/docs/doc/Doing/Errors.html +3 -3
  29. data/docs/doc/Doing/Hooks.html +3 -3
  30. data/docs/doc/Doing/Item.html +3 -3
  31. data/docs/doc/Doing/Items.html +3 -3
  32. data/docs/doc/Doing/LogAdapter.html +3 -3
  33. data/docs/doc/Doing/Note.html +3 -3
  34. data/docs/doc/Doing/Pager.html +3 -3
  35. data/docs/doc/Doing/Plugins.html +3 -3
  36. data/docs/doc/Doing/Prompt.html +7 -7
  37. data/docs/doc/Doing/Section.html +3 -3
  38. data/docs/doc/Doing/TemplateString.html +4 -4
  39. data/docs/doc/Doing/Util/Backup.html +3 -3
  40. data/docs/doc/Doing/Util.html +3 -3
  41. data/docs/doc/Doing/WWID.html +66 -8
  42. data/docs/doc/Doing.html +6 -6
  43. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +3 -3
  44. data/docs/doc/GLI/Commands.html +3 -3
  45. data/docs/doc/GLI.html +3 -3
  46. data/docs/doc/Hash.html +78 -6
  47. data/docs/doc/Numeric.html +3 -3
  48. data/docs/doc/PhraseParser/Operator.html +3 -3
  49. data/docs/doc/PhraseParser/PhraseClause.html +3 -3
  50. data/docs/doc/PhraseParser/Query.html +3 -3
  51. data/docs/doc/PhraseParser/QueryParser.html +3 -3
  52. data/docs/doc/PhraseParser/QueryTransformer.html +3 -3
  53. data/docs/doc/PhraseParser/TermClause.html +3 -3
  54. data/docs/doc/PhraseParser.html +3 -3
  55. data/docs/doc/Status.html +3 -3
  56. data/docs/doc/String.html +156 -17
  57. data/docs/doc/Symbol.html +3 -3
  58. data/docs/doc/Time.html +3 -3
  59. data/docs/doc/_index.html +23 -16
  60. data/docs/doc/class_list.html +1 -1
  61. data/docs/doc/file.README.html +4 -4
  62. data/docs/doc/frames.html +1 -1
  63. data/docs/doc/index.html +4 -4
  64. data/docs/doc/method_list.html +331 -283
  65. data/docs/doc/top-level-namespace.html +3 -3
  66. data/doing.gemspec +1 -1
  67. data/doing.rdoc +26 -12
  68. data/lib/completion/_doing.zsh +5 -5
  69. data/lib/completion/doing.bash +8 -8
  70. data/lib/completion/doing.fish +93 -15
  71. data/lib/doing/array.rb +5 -4
  72. data/lib/doing/array_chronify.rb +4 -3
  73. data/lib/doing/completion/fish_completion.rb +80 -11
  74. data/lib/doing/configuration.rb +2 -1
  75. data/lib/doing/hash.rb +22 -4
  76. data/lib/doing/item.rb +2 -2
  77. data/lib/doing/items.rb +3 -1
  78. data/lib/doing/log_adapter.rb +1 -1
  79. data/lib/doing/pager.rb +2 -2
  80. data/lib/doing/plugins/export/dayone_export.rb +1 -1
  81. data/lib/doing/plugins/export/markdown_export.rb +1 -1
  82. data/lib/doing/plugins/export/template_export.rb +8 -2
  83. data/lib/doing/prompt.rb +4 -2
  84. data/lib/doing/string.rb +25 -2
  85. data/lib/doing/string_chronify.rb +55 -17
  86. data/lib/doing/template_string.rb +7 -0
  87. data/lib/doing/types.rb +23 -0
  88. data/lib/doing/version.rb +1 -1
  89. data/lib/doing/wwid.rb +71 -50
  90. data/lib/doing.rb +1 -0
  91. data/lib/examples/commands/later.rb +32 -0
  92. data/lib/helpers/threaded_tests.rb +273 -0
  93. metadata +9 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e904ebbd440b847f32f6d2cf8b323b662c974c485453400c058a1c7df08e0cd5
4
- data.tar.gz: 38077937c8cb1616a83a965f0f4f004812a2c6333bf40a2d7f96832e575369ae
3
+ metadata.gz: '09c53ca468f428a8f5a77060bf395707dace911e06213a00a8e0fe54c03abc38'
4
+ data.tar.gz: 9226dc60c9a2ef22f278e147dd95693b36a01fd4b7df4f0c211c747b21ceaf8c
5
5
  SHA512:
6
- metadata.gz: 1981ea1841ac4bf1d0efb5c16a31cfdfc249e102c8d9dc9b006eecdfb501e229ba811c5764389efcde99e7d5b967801dd321a9254f9ed823b307c8ce1e885a44
7
- data.tar.gz: b6d28943f49011a44970b96aa3f7ddf7e44aef9d4089c6a1cf232d4bebd7021e7b6a7da4cfccdcd89aef5a1dbb45b2f8a05acb1e6c1ec424a742293c0d90d7d5
6
+ metadata.gz: 80ecd2f1fe4801b82546ecaf3eb9c6028ac27aa424b77ca0fe7f68d06a240c5670f02e989c228b21270bdb4f3f49e8f7c0dad17901aa9fe90dac6b45e0885fe1
7
+ data.tar.gz: 7e8bef046989f6a3fb5293104f70db7368632488847aff9e4f9a8f1166c399db1df92c773cbbf9a5166c74a40737e1fd016ecfadea9e8ca01e5dda7f278dbf33
data/.yardoc/checksums CHANGED
@@ -1,30 +1,31 @@
1
- lib/doing/hash.rb c2960de9603dcf90be85ce423d9430de27f4f893
2
- lib/doing/item.rb 276880933fef8a4e1ef7a80e92f0f2b029f8a6e7
1
+ lib/doing/hash.rb 4c08dd246aa0ced651a1568832cea1a91a984eb6
2
+ lib/doing/item.rb ffccadf4b6e9e48373a954ad4b690e9c31dfd2cb
3
3
  lib/doing/note.rb bbadd9e34e6dc43a2af1110a5107f46c39d2547f
4
4
  lib/doing/time.rb 60183c3c31532ffea1440c766de0f90042e0fd10
5
5
  lib/doing/util.rb 33ad79455893213a0f2993edec0e158526657f09
6
- lib/doing/wwid.rb 58998ec0fccfa8450f7c065e1994acc6f314e819
7
- lib/doing/array.rb a17004c4811d239932254f9ed94a6eb10456c8e8
6
+ lib/doing/wwid.rb f28e9675a5c1014452f441e26048375cf127b714
7
+ lib/doing/array.rb c459e484f121abd64c8b3877a447ec7b6a65f9bc
8
8
  lib/doing/hooks.rb acf6e0615ccf1949f84915c979297845242c1205
9
- lib/doing/items.rb 8cda7caaef10645893267262f5eee681e35046ce
10
- lib/doing/pager.rb b58e478b0cb8d400ddb97988ba741e3a127b53c3
9
+ lib/doing/items.rb 69c762d337d9dad2b780cd08cc1c8785310e23ba
10
+ lib/doing/pager.rb a5dc55e1163d1b8476617e924a3aee4f9bf8be00
11
+ lib/doing/types.rb a53694ca64c613263b26b7a980c450abc2477242
11
12
  lib/doing/colors.rb b7239a69e10c5df9378a5843441af5b93c1872f8
12
13
  lib/doing/errors.rb af07e482a5389924edc2337749c81cda501098f0
13
- lib/doing/prompt.rb 1c48923fc61d8714e3fc1f24b52fb8f358a8cc24
14
- lib/doing/string.rb f5327c42aa2563d95f93d4c77a099b7076c3ea5f
14
+ lib/doing/prompt.rb d241935b209e69a14c55a9c3a035f1751c576b4c
15
+ lib/doing/string.rb ae82fc6e60a490bfb30b5913390d1d375451fe69
15
16
  lib/doing/symbol.rb 309799458a1bc715c2707307c9a62ab26086275e
16
17
  lib/doing/section.rb 206e119cf818f1e76798753e611180fe77bc299a
17
- lib/doing/version.rb c8b901ea8187c93194d977cb05924c4a6d6ccc7e
18
+ lib/doing/version.rb 02268018a64ba45e346d12dd6fc027f6cc68e2d3
18
19
  lib/doing/cli_status.rb dbedd454c4cbbd0fed9ef30120f6ec85d18b9356
19
20
  lib/doing/completion.rb c658e7dc7898fb022a21b2bd77bedb958ca3b067
20
- lib/doing/log_adapter.rb 57d831259f48d0757307244d35b87e9ffa9099d9
21
+ lib/doing/log_adapter.rb 62ee66981878bd7285ccf0dfeca90a3d6d2af985
21
22
  lib/doing/util_backup.rb c13f71072581b1f0d2269853611ba09273261bf9
22
- lib/doing/configuration.rb b8667ff80c7c8830108e5089a5d309356af64151
23
+ lib/doing/configuration.rb d9b945a608452cdacb3f92ba711a83b4fecbb795
23
24
  lib/doing/phrase_parser.rb 8f1789d7cf8326d8cc231b4a21505a93f8de20d2
24
- lib/doing/array_chronify.rb 5852b38643aef2e7e796aaf19b2c052a52ee5e2b
25
+ lib/doing/array_chronify.rb b39b40268b1751b18acf6bae4e53885818e45f62
25
26
  lib/doing/plugin_manager.rb cb16a82c3182ef7008359670ab96ff6b39270ccc
26
- lib/doing/string_chronify.rb 62635041c94482927fb661ac0caa2eb9bdd1c17c
27
- lib/doing/template_string.rb 5f6ef0495082339f2aa1b085ac4c1bdbfeb25be5
27
+ lib/doing/string_chronify.rb 79d3926e586b2ddeef508d778f76c777bc4ee811
28
+ lib/doing/template_string.rb 736f6e7645160f75061db1856a62101238fe8c56
28
29
  lib/doing/numeric_chronify.rb bedeff62a95f8a8ff116e1bf0cc1d9eb2707a900
29
30
  lib/doing/boolean_term_parser.rb 075977892ac5c6e3435cb8877d8b8b68eb1962e3
30
31
  lib/doing/markdown_document_listener.rb 45485f225068a34951ec818a345f642323e5ba35
data/.yardoc/object_types CHANGED
Binary file
Binary file
data/CHANGELOG.md CHANGED
@@ -1,3 +1,67 @@
1
+ ### 2.1.22
2
+
3
+ 2022-01-21 14:39
4
+
5
+ #### IMPROVED
6
+
7
+ - General improvements to `doing note`, including better handling of piping notes from STDIN, using a Readline input unless `--editor` is specified, changed order of importance for different inputs
8
+ - `doing reset -n` switch is a shortcut for `--no-resume` to avoid removing @done when modifying a start date
9
+ - More duration formats available for config (clock, dhm, hm, m, natural)
10
+
11
+ #### FIXED
12
+
13
+ - Fix already initialized warning
14
+ - Don't invoke Readline inputs when the current device is not a TTY
15
+ - View keys being overridden by template keys
16
+ - Tag string routines
17
+ - Error handling additional configs when a config file is specified on command line
18
+
19
+ ### 2.1.21
20
+
21
+ 2022-01-20 12:05
22
+
23
+ #### FIXED
24
+
25
+ - Custom types not available to custom commands
26
+
27
+ ### 2.1.20
28
+
29
+ 2022-01-20 11:49
30
+
31
+ #### NEW
32
+
33
+ - Autotag option for interactive `doing select` menu
34
+ - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
35
+ - 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).
36
+
37
+ #### IMPROVED
38
+
39
+ - Autotag improvements
40
+ - 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.
41
+
42
+ #### FIXED
43
+
44
+ - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
45
+ - Error when using `doing finish --auto`
46
+ - `doing on wed` when today is wednesday not returning results
47
+ - Using `config set` with a false value deleted the key from config
48
+ - `config set` with true or false value was inserting a quoted string
49
+ - Entries were not being sorted (at all) within sections when writing the Doing file
50
+
51
+ ### 2.1.19
52
+
53
+ 2022-01-18 08:40
54
+
55
+ #### FIXED
56
+
57
+ - Search highlighting error with some pattern searches
58
+ - Reverse sort of items in menu from `--interactive` flags
59
+ - Nil error when `--interactive` was called without search results
60
+
61
+ ### 2.1.18
62
+
63
+ Build automation test
64
+
1
65
  ### 2.1.17
2
66
 
3
67
  2022-01-18 07:26
@@ -29,7 +93,7 @@
29
93
  #### IMPROVED
30
94
 
31
95
  - Running `doing tag` without arguments takes command line input
32
- - 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)
96
+ - 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)
33
97
  - Tab completion for tags when entering at prompt
34
98
  - Use readline when requesting input text, better editing features
35
99
  - `doing done --at` no longer overrides `--back`
@@ -39,7 +103,7 @@
39
103
  - `doing select` -> output formatted empty output
40
104
  - Sort items by date when using `doing select --editor` (was loading in selection order instead)
41
105
  - Ruby 2.7 error in template output (.empty? on FalseClass)
42
- - Don't add empty entry when cancelling --editor
106
+ - Don't add empty entry when cancelling `--editor`
43
107
  - Batch editing bugs
44
108
 
45
109
  ### 2.1.15
@@ -64,21 +128,21 @@
64
128
 
65
129
  #### NEW
66
130
 
67
- - 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
131
+ - 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`
68
132
 
69
133
  #### IMPROVED
70
134
 
71
- - Implement --search and --from filtering for import plugins
135
+ - Implement `--search` and `--from` filtering for import plugins
72
136
  - UTC format date strings in select menus for consistency (was relative date formatting)
73
- - 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
137
+ - 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
74
138
  - 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)
75
- - When using --editor while adding an entry, include any note specified on the command line or via --ask for further editing
139
+ - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
76
140
 
77
141
  ### 2.1.13
78
142
 
79
143
  #### NEW
80
144
 
81
- - --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)
145
+ - `--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)
82
146
  - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
83
147
 
84
148
  #### FIXED
@@ -92,7 +156,7 @@
92
156
  - 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.
93
157
  - Synonym triggers allow `*` and `?` wildcards
94
158
  - Add `--delete` flag for `doing last` to delete last entry
95
- - --delete and --editor flags for `doing search`, batch edit and delete
159
+ - `--delete` and `--editor` flags for `doing search`, batch edit and delete
96
160
  - Example hook to add new entries containing a certain tag to Day One
97
161
  - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
98
162
 
@@ -109,13 +173,13 @@
109
173
 
110
174
  #### NEW
111
175
 
112
- - --age (oldest|newest) option for view command
176
+ - `--age` (oldest|newest) option for view command
113
177
 
114
178
  ### 2.1.9
115
179
 
116
180
  #### IMPROVED
117
181
 
118
- - 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
182
+ - 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
119
183
 
120
184
  #### FIXED
121
185
 
@@ -195,10 +259,10 @@
195
259
  - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
196
260
  - 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
197
261
  - When editor is invoked, entry titles include start date, which can be modified
198
- - --before, --after, and --from date filters for select command
199
- - --from flag for `doing today` and `doing yesterday`, filter by time range
200
- - --from flag for `doing search`, filter by date/time range
201
- - 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
262
+ - `--before`, `--after`, and `--from` date filters for select command
263
+ - `--from` flag for `doing today` and `doing yesterday`, filter by time range
264
+ - `--from` flag for `doing search`, filter by date/time range
265
+ - 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
202
266
  - Add %duration placeholder to template variables
203
267
  - 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)
204
268
  - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
@@ -287,10 +351,10 @@
287
351
  - Add 'timer_format' config with 'human' option for tag totals
288
352
  - If `doing view` and `doing show` are confused, offer option to run the other command
289
353
  - `doing completion` to generate shell completion scripts for zsh, bash, and fish
290
- - --search and --not for cancel command
291
- - --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)
354
+ - `--search` and `--not` for cancel command
355
+ - `--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)
292
356
  - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
293
- - Add `--not` flag to all commands with filters (--tag, --search, --before, etc.) to negate the filter and return entries NOT matched
357
+ - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
294
358
 
295
359
  #### IMPROVED
296
360
 
@@ -314,13 +378,13 @@
314
378
  - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
315
379
  - Add %idnote template placeholder for "indented note" (entire note indented one tab)
316
380
  - (loosely printf-esque) formatting options for `%note` template placeholder
317
- - --interactive mode to act on results of `doing grep`
381
+ - `--interactive` mode to act on results of `doing grep`
318
382
  - Printf formatting for title and date
319
383
  - Doing import plugin
320
384
  - Plugins command to list plugins
321
- - --dump option for `doing config` to output a key.path config key as JSON, YAML, or raw output
322
- - --no-color global flag
323
- - Log levels, with --quiet and --verbose global flags
385
+ - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
386
+ - `--no-color` global flag
387
+ - Log levels, with `--quiet` and `--verbose` global flags
324
388
  - Convert CLI messaging to Logger-based system
325
389
  - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
326
390
  - Hooks, register plugins to run based on events
@@ -333,26 +397,26 @@
333
397
  - Major plugin architecture refactoring
334
398
  - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
335
399
  - When accepting a date filter, allow end date to be in the future
336
- - If an edited item has no changes, don't update/output notification - Don't start with query when using grep --interactive
400
+ - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
337
401
  - Select menu item formatting
338
402
  - Output wrapping for terminal display
339
- - Redirect warn to STDOUT when run with --stdout
403
+ - Redirect warn to STDOUT when run with `--stdout`
340
404
  - Fish autocomplete
341
405
  - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
342
- - When --stdout or not a TTY, no color or output formatting
406
+ - When `--stdout` or not a TTY, no color or output formatting
343
407
  - Highlight tags when showing results. Because it looks nice.
344
- - --tag and --search for `doing note`
408
+ - `--tag` and `--search` for `doing note`
345
409
  - View/section fuzzy guessing
346
410
  - Error reporting
347
411
  - If `doing config` finds local doingrc files, offers a menu for editing
348
412
  - More filtering options for `doing finish`
349
- - Doing done accepts --unfinished flag to finish last entry not marked @done (instead of last entry)
350
- - Doing done accepts --note flag to append a note when completing an entry
413
+ - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
414
+ - Doing done accepts `--note` flag to append a note when completing an entry
351
415
 
352
416
  #### FIXED
353
417
 
354
418
  - Multi-word unquoted arguments to add_section being truncated
355
- - Show --from with date span
419
+ - Show `--from` with date span
356
420
  - Handling of arbitrary times in natural language dates
357
421
  - Backward scope of since command with arbitrary times
358
422
  - `doing rotate --keep` wasn't respecting keep value
@@ -366,33 +430,33 @@
366
430
  - "taskpaper" format available for all output options
367
431
  - "markdown" format available for all output commands (GFM-style task list, customizable template)
368
432
  - `--rename` option for tag command to replace tags
369
- - `--regex` option for tag command, for --remove and --rename
433
+ - `--regex` option for tag command, for `--remove` and `--rename`
370
434
 
371
435
  ### 1.0.90
372
436
 
373
437
  - Minor fix for shell command in doing select
374
- - Fix for doing finish --auto when matched item is last in list
375
- - doing finish --auto now pulls from all sections, not just the section of the target entry
438
+ - Fix for doing finish `--auto` when matched item is last in list
439
+ - doing finish `--auto` now pulls from all sections, not just the section of the target entry
376
440
 
377
441
  ### 1.0.89
378
442
 
379
443
  - Pretty print JSON output
380
- - --no-menu option for select command to use --query as a filter and act on matching entries without displaying menu
444
+ - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
381
445
 
382
446
  ### 1.0.88
383
447
 
384
- - Add --before and --after time search to yesterday command
385
- - Add --before and --after date search to search/grep command
386
- - Add --tag_order to yesterday command
448
+ - Add `--before` and `--after` time search to yesterday command
449
+ - Add `--before` and `--after` date search to search/grep command
450
+ - Add `--tag_order` to yesterday command
387
451
 
388
452
  ### 1.0.87
389
453
 
390
454
  - Add leading spaces to make %shortdate align properly, at least for the last week
391
- - Add --tag, --bool, and --search to view command
392
- - Add --before and --after date search to view command
393
- - Add --before and --after date search to show command
394
- - Add --before and --after time search to today command
395
- - Add --search filter to show command
455
+ - Add `--tag`, `--bool`, and `--search` to view command
456
+ - Add `--before` and `--after` date search to view command
457
+ - Add `--before` and `--after` date search to show command
458
+ - Add `--before` and `--after` time search to today command
459
+ - Add `--search` filter to show command
396
460
  - More alignment/formatting fixes for %shortdate
397
461
 
398
462
  ### 1.0.86
@@ -401,8 +465,8 @@
401
465
 
402
466
  ### 1.0.85
403
467
 
404
- - Fix --auto for finish command
405
- - Add --before DATE_STRING to archive and rotate commands
468
+ - Fix `--auto` for finish command
469
+ - Add `--before` DATE_STRING to archive and rotate commands
406
470
  - Only create on rotate file per day, merge new entries into existing file
407
471
 
408
472
  ### 1.0.84
@@ -446,7 +510,7 @@ presented
446
510
 
447
511
  ### 1.0.74
448
512
 
449
- - Add --tag and --search flags to tag command to tag all entries matching search terms
513
+ - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
450
514
  - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
451
515
 
452
516
  ### 1.0.73
@@ -502,7 +566,7 @@ presented
502
566
 
503
567
  ### 1.0.61
504
568
 
505
- - Add --search filter to `doing archive`
569
+ - Add `--search` filter to `doing archive`
506
570
 
507
571
  ### 1.0.60
508
572
 
@@ -553,12 +617,12 @@ presented
553
617
  #### IMPROVED
554
618
 
555
619
  - Clean up command line help
556
- - --editor improvements for all commands that use it
620
+ - `--editor` improvements for all commands that use it
557
621
 
558
622
  #### FIXED
559
623
 
560
- - Doing finish --took throwing error
561
- - Doing tag --remove was adding tags if they didn't exist
624
+ - Doing finish `--took` throwing error
625
+ - Doing tag `--remove` was adding tags if they didn't exist
562
626
  - Creating a meanwhile task with a note resulted in an error
563
627
 
564
628
  ### 1.0.54
@@ -578,13 +642,13 @@ presented
578
642
 
579
643
  #### IMPROVED
580
644
 
581
- - Add --no-color option to view command
582
- - Add --tag to show for compatibility
645
+ - Add `--no-color` option to view command
646
+ - Add `--tag` to show for compatibility
583
647
 
584
648
  #### FIXED
585
649
 
586
- - Error running finish without --tag flag
587
- - --archive flag on finish, done, and cancel causing error
650
+ - Error running finish without `--tag` flag
651
+ - `--archive` flag on finish, done, and cancel causing error
588
652
 
589
653
  ### 1.0.52
590
654
 
@@ -595,7 +659,7 @@ presented
595
659
 
596
660
  #### FIXED
597
661
 
598
- - --archive flag on finish, done, and cancel causing error
662
+ - `--archive` flag on finish, done, and cancel causing error
599
663
 
600
664
  ### 1.0.49
601
665
 
@@ -643,7 +707,7 @@ presented
643
707
  ### 1.0.39
644
708
 
645
709
  - Tag transforms
646
- - Option to sort tags by name in --totals
710
+ - Option to sort tags by name in `--totals`
647
711
 
648
712
  ### 1.0.33
649
713
 
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doing (2.1.17)
4
+ doing (2.1.22)
5
5
  chronic (~> 0.10, >= 0.10.2)
6
6
  deep_merge (~> 1.2, >= 1.2.1)
7
- gli (~> 2.19, >= 2.19.2)
7
+ gli (~> 2.20, >= 2.20.1)
8
8
  haml (~> 5.0.0, >= 5.0.0)
9
9
  parslet (~> 2.0, >= 2.0.0)
10
10
  plist (~> 3.6, >= 3.6.0)
@@ -19,12 +19,11 @@ PATH
19
19
  GEM
20
20
  remote: http://rubygems.org/
21
21
  specs:
22
- activesupport (6.1.4.1)
22
+ activesupport (7.0.1)
23
23
  concurrent-ruby (~> 1.0, >= 1.0.2)
24
24
  i18n (>= 1.6, < 2)
25
25
  minitest (>= 5.1)
26
26
  tzinfo (~> 2.0)
27
- zeitwerk (~> 2.3)
28
27
  aruba (1.0.4)
29
28
  childprocess (>= 2.0, < 5.0)
30
29
  contracts (~> 0.16.0)
@@ -68,8 +67,8 @@ GEM
68
67
  cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
69
68
  cucumber-messages (~> 13.0, >= 13.0.1)
70
69
  deep_merge (1.2.2)
71
- diff-lcs (1.4.4)
72
- ffi (1.15.4)
70
+ diff-lcs (1.5.0)
71
+ ffi (1.15.5)
73
72
  github-markup (4.0.0)
74
73
  gli (2.20.1)
75
74
  haml (5.0.4)
@@ -80,7 +79,7 @@ GEM
80
79
  kramdown (2.3.1)
81
80
  rexml
82
81
  middleware (0.1.0)
83
- minitest (5.14.4)
82
+ minitest (5.15.0)
84
83
  multi_test (0.1.2)
85
84
  parallel (1.21.0)
86
85
  parallel_tests (3.7.3)
@@ -100,7 +99,7 @@ GEM
100
99
  redcarpet (3.5.1)
101
100
  rexml (3.2.5)
102
101
  rouge (3.27.0)
103
- rspec-expectations (3.10.1)
102
+ rspec-expectations (3.10.2)
104
103
  diff-lcs (>= 1.2.0, < 2.0)
105
104
  rspec-support (~> 3.10.0)
106
105
  rspec-support (3.10.3)
@@ -115,7 +114,7 @@ GEM
115
114
  temple (0.8.2)
116
115
  test-unit (3.4.9)
117
116
  power_assert
118
- thor (1.1.0)
117
+ thor (1.2.1)
119
118
  thread_safe (0.3.6)
120
119
  tilt (2.0.10)
121
120
  tty-color (0.6.0)
@@ -145,9 +144,10 @@ GEM
145
144
  concurrent-ruby (~> 1.0)
146
145
  unicode-display_width (2.1.0)
147
146
  unicode_utils (1.4.0)
147
+ webrick (1.7.0)
148
148
  wisper (2.0.1)
149
- yard (0.9.26)
150
- zeitwerk (2.5.1)
149
+ yard (0.9.27)
150
+ webrick (~> 1.7.0)
151
151
 
152
152
  PLATFORMS
153
153
  ruby
data/README.md CHANGED
@@ -8,7 +8,7 @@ _If you're one of the rare people like me who find this useful, feel free to
8
8
 
9
9
  <!--README-->
10
10
 
11
- The current version of `doing` is <!--VER-->2.1.16<!--END VER-->.
11
+ The current version of `doing` is <!--VER-->2.1.21<!--END VER-->.
12
12
 
13
13
  Find all of the documentation in the [doing wiki][wiki].
14
14
 
data/Rakefile CHANGED
@@ -37,7 +37,6 @@ end
37
37
  # end
38
38
 
39
39
  namespace :test do
40
-
41
40
  FileList['test/*_test.rb'].each do |rakefile|
42
41
  test_name = File.basename(rakefile, '.rb').sub(/^.*?_(.*?)_.*?$/, '\1')
43
42
 
@@ -51,6 +50,15 @@ namespace :test do
51
50
  end
52
51
  end
53
52
 
53
+ desc 'Run all tests, threaded'
54
+ task :test, :pattern, :threads, :max_tests do |_, args|
55
+ args.with_defaults(pattern: '*', threads: 8, max_tests: 0)
56
+ pattern = args[:pattern] =~ /(n[iu]ll?|0|\.)/i ? '*' : args[:pattern]
57
+
58
+ require_relative 'lib/helpers/threaded_tests'
59
+ ThreadedTests.new.run(pattern: pattern, max_threads: args[:threads].to_i, max_tests: args[:max_tests])
60
+ end
61
+
54
62
  desc 'Run tests in Docker'
55
63
  task :dockertest, :version, :login do |_, args|
56
64
  args.with_defaults(version: '2.7', login: false)
@@ -85,8 +93,8 @@ task :dockertest, :version, :login do |_, args|
85
93
  # puts commit&.empty? ? "Error commiting Docker tag #{img}" : "Committed Docker tag #{img}"
86
94
  end
87
95
 
88
- desc 'Run all tests'
89
- task test: 'test:default'
96
+ # desc 'Run all tests'
97
+ # task test: 'test:default'
90
98
 
91
99
  desc 'Run one test verbosely'
92
100
  task :test_one, :test do |_, args|
@@ -151,4 +159,4 @@ task :bump, :type do |_, args|
151
159
  File.open(version_file, 'w+') { |f| f.puts content }
152
160
  end
153
161
 
154
- task default: %i[clobber yard package]
162
+ task default: %i[test clobber package]