doing 2.1.16 → 2.1.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +13 -12
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/CHANGELOG.md +136 -53
  6. data/Gemfile.lock +11 -11
  7. data/README.md +1 -1
  8. data/Rakefile +10 -4
  9. data/bin/doing +146 -169
  10. data/docs/doc/Array.html +3 -3
  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 +8 -4
  18. data/docs/doc/Doing/Completion.html +3 -3
  19. data/docs/doc/Doing/Configuration.html +7 -5
  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 +121 -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 +3 -3
  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 +4 -4
  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 +3 -3
  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 +230 -17
  57. data/docs/doc/Symbol.html +3 -3
  58. data/docs/doc/Time.html +3 -3
  59. data/docs/doc/_index.html +4 -4
  60. data/docs/doc/file.README.html +4 -4
  61. data/docs/doc/frames.html +1 -1
  62. data/docs/doc/index.html +4 -4
  63. data/docs/doc/method_list.html +311 -239
  64. data/docs/doc/top-level-namespace.html +94 -3
  65. data/doing.gemspec +1 -1
  66. data/doing.rdoc +35 -6
  67. data/lib/completion/_doing.zsh +10 -10
  68. data/lib/completion/doing.bash +16 -16
  69. data/lib/completion/doing.fish +97 -15
  70. data/lib/doing/colors.rb +4 -0
  71. data/lib/doing/completion/fish_completion.rb +80 -11
  72. data/lib/doing/configuration.rb +3 -1
  73. data/lib/doing/hash.rb +1 -1
  74. data/lib/doing/item.rb +51 -0
  75. data/lib/doing/items.rb +3 -1
  76. data/lib/doing/log_adapter.rb +2 -2
  77. data/lib/doing/pager.rb +1 -1
  78. data/lib/doing/plugins/export/dayone_export.rb +1 -1
  79. data/lib/doing/plugins/export/markdown_export.rb +1 -1
  80. data/lib/doing/plugins/export/template_export.rb +2 -0
  81. data/lib/doing/prompt.rb +16 -5
  82. data/lib/doing/string.rb +54 -0
  83. data/lib/doing/string_chronify.rb +55 -17
  84. data/lib/doing/types.rb +19 -0
  85. data/lib/doing/version.rb +1 -1
  86. data/lib/doing/wwid.rb +80 -52
  87. data/lib/examples/commands/later.rb +32 -0
  88. data/lib/helpers/threaded_tests.rb +250 -0
  89. metadata +9 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 401f509f952c1f59117bd72b97a7539ee2aa011a876b24ddeacc6b535f7d0021
4
- data.tar.gz: afa5d5ca709bf06ef3c686ca5f6af48b75c6dbd09445c36a4de6c78f793ee879
3
+ metadata.gz: '06493492d12846e35ddd52120caa601f41113738aa0f927425136334c33f6d4f'
4
+ data.tar.gz: 15b0c5c756b8961a162d16b026982a39b02a3e62a7a77f5af96bd7b29551c190
5
5
  SHA512:
6
- metadata.gz: 6b2fa35dd2651785705b36a8ae12aca8e806476c2309b3e580ae06b87f75b0a0ac317389ac0fd21c28bca52a9c623b9c3892556c483230cf8603fd2eb7fdaf5a
7
- data.tar.gz: 100407094cbcda4a0f24350ab84d5b923f367cee8913942e107f5bea177e6133be09819d1d1f408d8dd3ace35eff22446108d6bb377fb6f6149f2057566fbd8a
6
+ metadata.gz: f95259d7235e5f94d7d7b7f7aad0cd60be16ba56faf861d25bc5977f671a8150f6c57bb2c6d4db46cd855d0977401092cfc09985591d79a52bb97c93f766c866
7
+ data.tar.gz: 12ffe984153d6540a471b48db7e82c15bb7d4290ac4e0abca40b58c0a2fefe637ebe8381ad101015e07fc1c0161b7ccd58ecda034467eff581b04bb5fd7266ac
data/.yardoc/checksums CHANGED
@@ -1,29 +1,30 @@
1
- lib/doing/hash.rb c2960de9603dcf90be85ce423d9430de27f4f893
2
- lib/doing/item.rb 017fe4de05ccfd8bab912e744f9dac9e52819b00
1
+ lib/doing/hash.rb ec25fdc045980e2498f2f034f29639f57d2fcf0c
2
+ lib/doing/item.rb 276880933fef8a4e1ef7a80e92f0f2b029f8a6e7
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 ee8ab91af8d34f1fe9c9ec6e6c96e5e4e648a9b0
6
+ lib/doing/wwid.rb bcbcd790a0e6ba7f0c8678bcc720c4960eff44bc
7
7
  lib/doing/array.rb a17004c4811d239932254f9ed94a6eb10456c8e8
8
8
  lib/doing/hooks.rb acf6e0615ccf1949f84915c979297845242c1205
9
- lib/doing/items.rb 8cda7caaef10645893267262f5eee681e35046ce
10
- lib/doing/pager.rb b58e478b0cb8d400ddb97988ba741e3a127b53c3
11
- lib/doing/colors.rb 9a628d48c821313c502deedc5b61a046a2bf79ef
9
+ lib/doing/items.rb 69c762d337d9dad2b780cd08cc1c8785310e23ba
10
+ lib/doing/pager.rb 7e8475372ff059dd027b880c29fb6a2424c885dc
11
+ lib/doing/types.rb e6a01d98e358345ea61437ac4045f0da4a04750c
12
+ lib/doing/colors.rb b7239a69e10c5df9378a5843441af5b93c1872f8
12
13
  lib/doing/errors.rb af07e482a5389924edc2337749c81cda501098f0
13
- lib/doing/prompt.rb d320de9f309a9069725b9e90e19bae808839c06b
14
- lib/doing/string.rb f5cf48e2e700a038aa9edaafdee3066ba117e851
14
+ lib/doing/prompt.rb 1c48923fc61d8714e3fc1f24b52fb8f358a8cc24
15
+ lib/doing/string.rb 82dcd4c1b3847defa844f2162ffe0af863d60be2
15
16
  lib/doing/symbol.rb 309799458a1bc715c2707307c9a62ab26086275e
16
17
  lib/doing/section.rb 206e119cf818f1e76798753e611180fe77bc299a
17
- lib/doing/version.rb 2bdd1caf85f391c64be4f792fe24f8ca017ebc54
18
+ lib/doing/version.rb ba9c781ef9a612fecc0e0e96da29f463467b777b
18
19
  lib/doing/cli_status.rb dbedd454c4cbbd0fed9ef30120f6ec85d18b9356
19
20
  lib/doing/completion.rb c658e7dc7898fb022a21b2bd77bedb958ca3b067
20
- lib/doing/log_adapter.rb 267dc637bc9ea445dd07edb8b5dbbe374ff80b2b
21
+ lib/doing/log_adapter.rb 57d831259f48d0757307244d35b87e9ffa9099d9
21
22
  lib/doing/util_backup.rb c13f71072581b1f0d2269853611ba09273261bf9
22
- lib/doing/configuration.rb 61c415e033c99355f5589e799344d60db42bd900
23
+ lib/doing/configuration.rb 0eed57f4e26b643863d20f78675e7152d3f4f697
23
24
  lib/doing/phrase_parser.rb 8f1789d7cf8326d8cc231b4a21505a93f8de20d2
24
25
  lib/doing/array_chronify.rb 5852b38643aef2e7e796aaf19b2c052a52ee5e2b
25
26
  lib/doing/plugin_manager.rb cb16a82c3182ef7008359670ab96ff6b39270ccc
26
- lib/doing/string_chronify.rb 62635041c94482927fb661ac0caa2eb9bdd1c17c
27
+ lib/doing/string_chronify.rb 79d3926e586b2ddeef508d778f76c777bc4ee811
27
28
  lib/doing/template_string.rb 5f6ef0495082339f2aa1b085ac4c1bdbfeb25be5
28
29
  lib/doing/numeric_chronify.rb bedeff62a95f8a8ff116e1bf0cc1d9eb2707a900
29
30
  lib/doing/boolean_term_parser.rb 075977892ac5c6e3435cb8877d8b8b68eb1962e3
data/.yardoc/object_types CHANGED
Binary file
Binary file
data/CHANGELOG.md CHANGED
@@ -1,3 +1,86 @@
1
+ ### 2.1.21
2
+
3
+ 2022-01-20 12:05
4
+
5
+ #### NEW
6
+
7
+ - Autotag option for interactive `doing select` menu
8
+ - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
9
+ - 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).
10
+
11
+ #### IMPROVED
12
+
13
+ - Autotag improvements
14
+ - 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.
15
+
16
+ #### FIXED
17
+
18
+ - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
19
+ - Error when using `doing finish --auto`
20
+ - `doing on wed` when today is wednesday not returning results
21
+ - Using `config set` with a false value deleted the key from config
22
+ - `config set` with true or false value was inserting a quoted string
23
+ - Entries were not being sorted (at all) within sections when writing the Doing file
24
+ - Custom types not available to custom commands
25
+
26
+ ### 2.1.20
27
+
28
+ 2022-01-20 11:49
29
+
30
+ #### NEW
31
+
32
+ - Autotag option for interactive `doing select` menu
33
+ - (Breaking change) Made the later command an optional plugin, see wiki for how to install (and create) custom commands
34
+ - 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).
35
+
36
+ #### IMPROVED
37
+
38
+ - Autotag improvements
39
+ - 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.
40
+
41
+ #### FIXED
42
+
43
+ - `doing again` should only mark the original repeating entry @done, not search for the last unfinished entry
44
+ - Error when using `doing finish --auto`
45
+ - `doing on wed` when today is wednesday not returning results
46
+ - Using `config set` with a false value deleted the key from config
47
+ - `config set` with true or false value was inserting a quoted string
48
+ - Entries were not being sorted (at all) within sections when writing the Doing file
49
+
50
+ ### 2.1.19
51
+
52
+ 2022-01-18 08:40
53
+
54
+ #### FIXED
55
+
56
+ - Search highlighting error with some pattern searches
57
+ - Reverse sort of items in menu from `--interactive` flags
58
+ - Nil error when `--interactive` was called without search results
59
+
60
+ ### 2.1.18
61
+
62
+ Build automation test
63
+
64
+ ### 2.1.17
65
+
66
+ 2022-01-18 07:26
67
+
68
+ #### NEW
69
+
70
+ - `--hilite` option for `doing search` to highlight matches in search results (terminal output only)
71
+ - `--hilite` flag for `show` and `view` to highlight results when used with `--search`
72
+
73
+ #### IMPROVED
74
+
75
+ - Show preview of up to 5 items when confirming a delete operation so you actually know what you're deleting
76
+ - Allow `--ask` when creating new entry via STDIN pipe
77
+ - Tab completion for known tags when creating an entry interactively
78
+ - Add purple as an alias for magenta in template colors
79
+
80
+ #### FIXED
81
+
82
+ - Clear STDIN before requesting input
83
+
1
84
  ### 2.1.16
2
85
 
3
86
  2022-01-18 02:45
@@ -9,7 +92,7 @@
9
92
  #### IMPROVED
10
93
 
11
94
  - Running `doing tag` without arguments takes command line input
12
- - 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)
95
+ - 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)
13
96
  - Tab completion for tags when entering at prompt
14
97
  - Use readline when requesting input text, better editing features
15
98
  - `doing done --at` no longer overrides `--back`
@@ -19,7 +102,7 @@
19
102
  - `doing select` -> output formatted empty output
20
103
  - Sort items by date when using `doing select --editor` (was loading in selection order instead)
21
104
  - Ruby 2.7 error in template output (.empty? on FalseClass)
22
- - Don't add empty entry when cancelling --editor
105
+ - Don't add empty entry when cancelling `--editor`
23
106
  - Batch editing bugs
24
107
 
25
108
  ### 2.1.15
@@ -44,21 +127,21 @@
44
127
 
45
128
  #### NEW
46
129
 
47
- - 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
130
+ - 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`
48
131
 
49
132
  #### IMPROVED
50
133
 
51
- - Implement --search and --from filtering for import plugins
134
+ - Implement `--search` and `--from` filtering for import plugins
52
135
  - UTC format date strings in select menus for consistency (was relative date formatting)
53
- - 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
136
+ - 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
54
137
  - 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)
55
- - When using --editor while adding an entry, include any note specified on the command line or via --ask for further editing
138
+ - When using `--editor` while adding an entry, include any note specified on the command line or via `--ask` for further editing
56
139
 
57
140
  ### 2.1.13
58
141
 
59
142
  #### NEW
60
143
 
61
- - --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)
144
+ - `--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)
62
145
  - `doing tag` now accepts a `--value` flag to define a value for a single tag, e.g. @tag(value)
63
146
 
64
147
  #### FIXED
@@ -72,7 +155,7 @@
72
155
  - 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.
73
156
  - Synonym triggers allow `*` and `?` wildcards
74
157
  - Add `--delete` flag for `doing last` to delete last entry
75
- - --delete and --editor flags for `doing search`, batch edit and delete
158
+ - `--delete` and `--editor` flags for `doing search`, batch edit and delete
76
159
  - Example hook to add new entries containing a certain tag to Day One
77
160
  - New hooks: pre_entry_add, post_entry_added, post_entry_updated, post_entry_removed, pre_export
78
161
 
@@ -89,13 +172,13 @@
89
172
 
90
173
  #### NEW
91
174
 
92
- - --age (oldest|newest) option for view command
175
+ - `--age` (oldest|newest) option for view command
93
176
 
94
177
  ### 2.1.9
95
178
 
96
179
  #### IMPROVED
97
180
 
98
- - 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
181
+ - 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
99
182
 
100
183
  #### FIXED
101
184
 
@@ -175,10 +258,10 @@
175
258
  - `config list` will list detected .doingrc files and the main config file in order of precedence - refactoring
176
259
  - 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
177
260
  - When editor is invoked, entry titles include start date, which can be modified
178
- - --before, --after, and --from date filters for select command
179
- - --from flag for `doing today` and `doing yesterday`, filter by time range
180
- - --from flag for `doing search`, filter by date/time range
181
- - 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
261
+ - `--before`, `--after`, and `--from` date filters for select command
262
+ - `--from` flag for `doing today` and `doing yesterday`, filter by time range
263
+ - `--from` flag for `doing search`, filter by date/time range
264
+ - 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
182
265
  - Add %duration placeholder to template variables
183
266
  - 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)
184
267
  - Add `duration` key to config (root or view/template). If set to true, will display durations by default (no need for `--duration`)
@@ -267,10 +350,10 @@
267
350
  - Add 'timer_format' config with 'human' option for tag totals
268
351
  - If `doing view` and `doing show` are confused, offer option to run the other command
269
352
  - `doing completion` to generate shell completion scripts for zsh, bash, and fish
270
- - --search and --not for cancel command
271
- - --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)
353
+ - `--search` and `--not` for cancel command
354
+ - `--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)
272
355
  - Add `--exact` flag to all commands with `--search` flag to force exact matching without requiring single quote prefix
273
- - Add `--not` flag to all commands with filters (--tag, --search, --before, etc.) to negate the filter and return entries NOT matched
356
+ - Add `--not` flag to all commands with filters (`--tag`, `--search`, `--before`, etc.) to negate the filter and return entries NOT matched
274
357
 
275
358
  #### IMPROVED
276
359
 
@@ -294,13 +377,13 @@
294
377
  - `doing config --update` will add newly added config keys to your existing config file (handy with plugins that define their own config keys)
295
378
  - Add %idnote template placeholder for "indented note" (entire note indented one tab)
296
379
  - (loosely printf-esque) formatting options for `%note` template placeholder
297
- - --interactive mode to act on results of `doing grep`
380
+ - `--interactive` mode to act on results of `doing grep`
298
381
  - Printf formatting for title and date
299
382
  - Doing import plugin
300
383
  - Plugins command to list plugins
301
- - --dump option for `doing config` to output a key.path config key as JSON, YAML, or raw output
302
- - --no-color global flag
303
- - Log levels, with --quiet and --verbose global flags
384
+ - `--dump` option for `doing config` to output a key.path config key as JSON, YAML, or raw output
385
+ - `--no-color` global flag
386
+ - Log levels, with `--quiet` and `--verbose` global flags
304
387
  - Convert CLI messaging to Logger-based system
305
388
  - Use DOING_DEBUG, DOING_QUIET, or DOING_LOG_LEVEL environment variables to specify log levels before configuration is read
306
389
  - Hooks, register plugins to run based on events
@@ -313,26 +396,26 @@
313
396
  - Major plugin architecture refactoring
314
397
  - Fix regression where notes stored in doing file were outdented, breaking TaskPaper compatibility
315
398
  - When accepting a date filter, allow end date to be in the future
316
- - If an edited item has no changes, don't update/output notification - Don't start with query when using grep --interactive
399
+ - If an edited item has no changes, don't update/output notification - Don't start with query when using grep `--interactive`
317
400
  - Select menu item formatting
318
401
  - Output wrapping for terminal display
319
- - Redirect warn to STDOUT when run with --stdout
402
+ - Redirect warn to STDOUT when run with `--stdout`
320
403
  - Fish autocomplete
321
404
  - `--config_file` global flag deprected, now uses $DOING_CONFIG environment variable so that config overrides can be available before the initial configuration is run
322
- - When --stdout or not a TTY, no color or output formatting
405
+ - When `--stdout` or not a TTY, no color or output formatting
323
406
  - Highlight tags when showing results. Because it looks nice.
324
- - --tag and --search for `doing note`
407
+ - `--tag` and `--search` for `doing note`
325
408
  - View/section fuzzy guessing
326
409
  - Error reporting
327
410
  - If `doing config` finds local doingrc files, offers a menu for editing
328
411
  - More filtering options for `doing finish`
329
- - Doing done accepts --unfinished flag to finish last entry not marked @done (instead of last entry)
330
- - Doing done accepts --note flag to append a note when completing an entry
412
+ - Doing done accepts `--unfinished` flag to finish last entry not marked @done (instead of last entry)
413
+ - Doing done accepts `--note` flag to append a note when completing an entry
331
414
 
332
415
  #### FIXED
333
416
 
334
417
  - Multi-word unquoted arguments to add_section being truncated
335
- - Show --from with date span
418
+ - Show `--from` with date span
336
419
  - Handling of arbitrary times in natural language dates
337
420
  - Backward scope of since command with arbitrary times
338
421
  - `doing rotate --keep` wasn't respecting keep value
@@ -346,33 +429,33 @@
346
429
  - "taskpaper" format available for all output options
347
430
  - "markdown" format available for all output commands (GFM-style task list, customizable template)
348
431
  - `--rename` option for tag command to replace tags
349
- - `--regex` option for tag command, for --remove and --rename
432
+ - `--regex` option for tag command, for `--remove` and `--rename`
350
433
 
351
434
  ### 1.0.90
352
435
 
353
436
  - Minor fix for shell command in doing select
354
- - Fix for doing finish --auto when matched item is last in list
355
- - doing finish --auto now pulls from all sections, not just the section of the target entry
437
+ - Fix for doing finish `--auto` when matched item is last in list
438
+ - doing finish `--auto` now pulls from all sections, not just the section of the target entry
356
439
 
357
440
  ### 1.0.89
358
441
 
359
442
  - Pretty print JSON output
360
- - --no-menu option for select command to use --query as a filter and act on matching entries without displaying menu
443
+ - `--no-menu` option for select command to use `--query` as a filter and act on matching entries without displaying menu
361
444
 
362
445
  ### 1.0.88
363
446
 
364
- - Add --before and --after time search to yesterday command
365
- - Add --before and --after date search to search/grep command
366
- - Add --tag_order to yesterday command
447
+ - Add `--before` and `--after` time search to yesterday command
448
+ - Add `--before` and `--after` date search to search/grep command
449
+ - Add `--tag_order` to yesterday command
367
450
 
368
451
  ### 1.0.87
369
452
 
370
453
  - Add leading spaces to make %shortdate align properly, at least for the last week
371
- - Add --tag, --bool, and --search to view command
372
- - Add --before and --after date search to view command
373
- - Add --before and --after date search to show command
374
- - Add --before and --after time search to today command
375
- - Add --search filter to show command
454
+ - Add `--tag`, `--bool`, and `--search` to view command
455
+ - Add `--before` and `--after` date search to view command
456
+ - Add `--before` and `--after` date search to show command
457
+ - Add `--before` and `--after` time search to today command
458
+ - Add `--search` filter to show command
376
459
  - More alignment/formatting fixes for %shortdate
377
460
 
378
461
  ### 1.0.86
@@ -381,8 +464,8 @@
381
464
 
382
465
  ### 1.0.85
383
466
 
384
- - Fix --auto for finish command
385
- - Add --before DATE_STRING to archive and rotate commands
467
+ - Fix `--auto` for finish command
468
+ - Add `--before` DATE_STRING to archive and rotate commands
386
469
  - Only create on rotate file per day, merge new entries into existing file
387
470
 
388
471
  ### 1.0.84
@@ -426,7 +509,7 @@ presented
426
509
 
427
510
  ### 1.0.74
428
511
 
429
- - Add --tag and --search flags to tag command to tag all entries matching search terms
512
+ - Add `--tag` and `--search` flags to tag command to tag all entries matching search terms
430
513
  - Add since command, which is the same as `doing on tuesday to now` but `doing since tuesday` just feels more intuitive.
431
514
 
432
515
  ### 1.0.73
@@ -482,7 +565,7 @@ presented
482
565
 
483
566
  ### 1.0.61
484
567
 
485
- - Add --search filter to `doing archive`
568
+ - Add `--search` filter to `doing archive`
486
569
 
487
570
  ### 1.0.60
488
571
 
@@ -533,12 +616,12 @@ presented
533
616
  #### IMPROVED
534
617
 
535
618
  - Clean up command line help
536
- - --editor improvements for all commands that use it
619
+ - `--editor` improvements for all commands that use it
537
620
 
538
621
  #### FIXED
539
622
 
540
- - Doing finish --took throwing error
541
- - Doing tag --remove was adding tags if they didn't exist
623
+ - Doing finish `--took` throwing error
624
+ - Doing tag `--remove` was adding tags if they didn't exist
542
625
  - Creating a meanwhile task with a note resulted in an error
543
626
 
544
627
  ### 1.0.54
@@ -558,13 +641,13 @@ presented
558
641
 
559
642
  #### IMPROVED
560
643
 
561
- - Add --no-color option to view command
562
- - Add --tag to show for compatibility
644
+ - Add `--no-color` option to view command
645
+ - Add `--tag` to show for compatibility
563
646
 
564
647
  #### FIXED
565
648
 
566
- - Error running finish without --tag flag
567
- - --archive flag on finish, done, and cancel causing error
649
+ - Error running finish without `--tag` flag
650
+ - `--archive` flag on finish, done, and cancel causing error
568
651
 
569
652
  ### 1.0.52
570
653
 
@@ -575,7 +658,7 @@ presented
575
658
 
576
659
  #### FIXED
577
660
 
578
- - --archive flag on finish, done, and cancel causing error
661
+ - `--archive` flag on finish, done, and cancel causing error
579
662
 
580
663
  ### 1.0.49
581
664
 
@@ -623,7 +706,7 @@ presented
623
706
  ### 1.0.39
624
707
 
625
708
  - Tag transforms
626
- - Option to sort tags by name in --totals
709
+ - Option to sort tags by name in `--totals`
627
710
 
628
711
  ### 1.0.33
629
712
 
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doing (2.1.16)
4
+ doing (2.1.21)
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.15<!--END VER-->.
11
+ The current version of `doing` is <!--VER-->2.1.20<!--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,13 @@ 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: 24, max_tests: 0)
56
+ require_relative 'lib/helpers/threaded_tests'
57
+ ThreadedTests.new.run(pattern: args[:pattern], max_threads: args[:threads].to_i, max_tests: args[:max_tests])
58
+ end
59
+
54
60
  desc 'Run tests in Docker'
55
61
  task :dockertest, :version, :login do |_, args|
56
62
  args.with_defaults(version: '2.7', login: false)
@@ -85,8 +91,8 @@ task :dockertest, :version, :login do |_, args|
85
91
  # puts commit&.empty? ? "Error commiting Docker tag #{img}" : "Committed Docker tag #{img}"
86
92
  end
87
93
 
88
- desc 'Run all tests'
89
- task test: 'test:default'
94
+ # desc 'Run all tests'
95
+ # task test: 'test:default'
90
96
 
91
97
  desc 'Run one test verbosely'
92
98
  task :test_one, :test do |_, args|
@@ -151,4 +157,4 @@ task :bump, :type do |_, args|
151
157
  File.open(version_file, 'w+') { |f| f.puts content }
152
158
  end
153
159
 
154
- task default: %i[clobber yard package]
160
+ task default: %i[test clobber package]