doing 2.1.30 → 2.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/.irbrc +1 -0
  3. data/CHANGELOG.md +4972 -0
  4. data/Dockerfile-2.6 +3 -1
  5. data/Dockerfile-2.7 +4 -2
  6. data/Dockerfile-3.0 +3 -1
  7. data/Gemfile.lock +1 -67
  8. data/README.md +1 -1
  9. data/bash_profile +13 -0
  10. data/bin/commands/again.rb +1 -1
  11. data/bin/commands/archive.rb +3 -3
  12. data/bin/commands/cancel.rb +1 -1
  13. data/bin/commands/commands.rb +8 -8
  14. data/bin/commands/completion.rb +61 -19
  15. data/bin/commands/config.rb +22 -19
  16. data/bin/commands/done.rb +2 -2
  17. data/bin/commands/flag.rb +1 -1
  18. data/bin/commands/grep.rb +6 -33
  19. data/bin/commands/last.rb +1 -1
  20. data/bin/commands/meanwhile.rb +2 -2
  21. data/bin/commands/now.rb +2 -2
  22. data/bin/commands/on.rb +6 -16
  23. data/bin/commands/open.rb +1 -1
  24. data/bin/commands/recent.rb +5 -17
  25. data/bin/commands/rotate.rb +17 -0
  26. data/bin/commands/sections.rb +82 -7
  27. data/bin/commands/show.rb +8 -28
  28. data/bin/commands/since.rb +5 -16
  29. data/bin/commands/tag_dir.rb +27 -3
  30. data/bin/commands/today.rb +3 -28
  31. data/bin/commands/view.rb +3 -3
  32. data/bin/commands/yesterday.rb +3 -36
  33. data/bin/doing +29 -139
  34. data/docs/doc/Array.html +1 -1
  35. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  36. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  37. data/docs/doc/BooleanTermParser/Query.html +1 -1
  38. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  39. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  40. data/docs/doc/BooleanTermParser.html +1 -1
  41. data/docs/doc/Doing/Color.html +1 -1
  42. data/docs/doc/Doing/Completion.html +324 -4
  43. data/docs/doc/Doing/Configuration.html +3 -3
  44. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  45. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  46. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  47. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  48. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  49. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  50. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  51. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  52. data/docs/doc/Doing/Errors.html +1 -1
  53. data/docs/doc/Doing/Hooks.html +1 -1
  54. data/docs/doc/Doing/Item.html +144 -3
  55. data/docs/doc/Doing/Items.html +209 -1
  56. data/docs/doc/Doing/LogAdapter.html +1 -1
  57. data/docs/doc/Doing/Logger.html +1807 -0
  58. data/docs/doc/Doing/Note.html +109 -3
  59. data/docs/doc/Doing/Pager.html +1 -1
  60. data/docs/doc/Doing/Plugins.html +1 -1
  61. data/docs/doc/Doing/Prompt.html +1 -1
  62. data/docs/doc/Doing/Section.html +1 -1
  63. data/docs/doc/Doing/TemplateString.html +1 -1
  64. data/docs/doc/Doing/Types.html +3 -3
  65. data/docs/doc/Doing/Util/Backup.html +1 -1
  66. data/docs/doc/Doing/Util.html +1 -1
  67. data/docs/doc/Doing/WWID.html +8 -58
  68. data/docs/doc/Doing.html +4 -4
  69. data/docs/doc/FalseClass.html +1 -1
  70. data/docs/doc/GLI/Commands/Help.html +1 -1
  71. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  72. data/docs/doc/GLI/Commands.html +1 -1
  73. data/docs/doc/GLI.html +1 -1
  74. data/docs/doc/Hash.html +1 -1
  75. data/docs/doc/Object.html +1 -1
  76. data/docs/doc/PhraseParser/Operator.html +1 -1
  77. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  78. data/docs/doc/PhraseParser/Query.html +1 -1
  79. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  80. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  81. data/docs/doc/PhraseParser/TermClause.html +1 -1
  82. data/docs/doc/PhraseParser.html +1 -1
  83. data/docs/doc/Status.html +1 -1
  84. data/docs/doc/String.html +1 -1
  85. data/docs/doc/Symbol.html +1 -1
  86. data/docs/doc/Time.html +1 -1
  87. data/docs/doc/TrueClass.html +1 -1
  88. data/docs/doc/_index.html +12 -10
  89. data/docs/doc/class_list.html +1 -1
  90. data/docs/doc/file.README.html +2 -2
  91. data/docs/doc/index.html +2 -2
  92. data/docs/doc/method_list.html +424 -304
  93. data/docs/doc/top-level-namespace.html +105 -1
  94. data/docs/index.md +1 -1
  95. data/doing.gemspec +24 -24
  96. data/doing.rdoc +259 -26
  97. data/example_plugin.rb +7 -5
  98. data/inputrc +57 -0
  99. data/lib/completion/_doing.zsh +48 -52
  100. data/lib/completion/doing.bash +14 -25
  101. data/lib/completion/doing.fish +41 -15
  102. data/lib/doing/add_options.rb +152 -0
  103. data/lib/doing/array/array.rb +16 -0
  104. data/lib/doing/changelog/changes.rb +1 -1
  105. data/lib/doing/chronify/string.rb +1 -1
  106. data/lib/doing/completion/bash_completion.rb +12 -51
  107. data/lib/doing/completion/fish_completion.rb +17 -53
  108. data/lib/doing/completion/zsh_completion.rb +21 -59
  109. data/lib/doing/completion.rb +203 -17
  110. data/lib/doing/configuration.rb +7 -1
  111. data/lib/doing/item.rb +30 -5
  112. data/lib/doing/items.rb +53 -5
  113. data/lib/doing/{log_adapter.rb → logger.rb} +8 -2
  114. data/lib/doing/note.rb +24 -8
  115. data/lib/doing/plugins/export/dayone_export.rb +8 -6
  116. data/lib/doing/plugins/export/html_export.rb +4 -4
  117. data/lib/doing/plugins/export/json_export.rb +19 -20
  118. data/lib/doing/plugins/export/markdown_export.rb +2 -2
  119. data/lib/doing/plugins/export/template_export.rb +4 -4
  120. data/lib/doing/plugins/import/calendar_import.rb +2 -2
  121. data/lib/doing/plugins/import/doing_import.rb +2 -2
  122. data/lib/doing/plugins/import/timing_import.rb +2 -2
  123. data/lib/doing/string/highlight.rb +3 -4
  124. data/lib/doing/string/string.rb +8 -0
  125. data/lib/doing/string/tags.rb +1 -1
  126. data/lib/doing/types.rb +2 -2
  127. data/lib/doing/util.rb +1 -1
  128. data/lib/doing/util_backup.rb +12 -12
  129. data/lib/doing/version.rb +1 -1
  130. data/lib/doing/wwid.rb +119 -120
  131. data/lib/doing.rb +61 -3
  132. data/lib/examples/commands/wiki.rb +27 -19
  133. data/lib/examples/plugins/capture_thing_import.rb +1 -1
  134. data/lib/helpers/threaded_tests.rb +2 -0
  135. data/scripts/setting_replace.rb +11 -0
  136. metadata +109 -124
  137. data/.yardoc/checksums +0 -29
  138. data/.yardoc/complete +0 -0
  139. data/.yardoc/object_types +0 -0
  140. data/.yardoc/objects/root.dat +0 -0
  141. data/.yardoc/proxy_types +0 -0
  142. data/bin/commands/add_section.rb +0 -15
@@ -337,7 +337,7 @@
337
337
  <li class="public ">
338
338
  <span class="summary_signature">
339
339
 
340
- <a href="#equal%3F-instance_method" title="#equal? (instance method)">#<strong>equal?</strong>(other) &#x21d2; Boolean </a>
340
+ <a href="#equal%3F-instance_method" title="#equal? (instance method)">#<strong>equal?</strong>(other, match_section: false) &#x21d2; Boolean </a>
341
341
 
342
342
 
343
343
 
@@ -377,6 +377,29 @@
377
377
  <span class="summary_desc"><div class='inline'><p>Updates the title of the Item by expanding natural language dates within configured date tags (tags whose value is expected to be a date).</p>
378
378
  </div></span>
379
379
 
380
+ </li>
381
+
382
+
383
+ <li class="public ">
384
+ <span class="summary_signature">
385
+
386
+ <a href="#finished%3F-instance_method" title="#finished? (instance method)">#<strong>finished?</strong> &#x21d2; Boolean </a>
387
+
388
+
389
+
390
+ </span>
391
+
392
+
393
+
394
+
395
+
396
+
397
+
398
+
399
+
400
+ <span class="summary_desc"><div class='inline'><p>Test if item has a @done tag.</p>
401
+ </div></span>
402
+
380
403
  </li>
381
404
 
382
405
 
@@ -792,6 +815,29 @@
792
815
  <span class="summary_desc"><div class='inline'><p>outputs item in Doing file format, including leading tab.</p>
793
816
  </div></span>
794
817
 
818
+ </li>
819
+
820
+
821
+ <li class="public ">
822
+ <span class="summary_signature">
823
+
824
+ <a href="#unfinished%3F-instance_method" title="#unfinished? (instance method)">#<strong>unfinished?</strong> &#x21d2; Boolean </a>
825
+
826
+
827
+
828
+ </span>
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+ <span class="summary_desc"><div class='inline'><p>Test if item does not contain @done tag.</p>
839
+ </div></span>
840
+
795
841
  </li>
796
842
 
797
843
 
@@ -1099,7 +1145,7 @@ the item belongs</p>
1099
1145
  <div class="method_details ">
1100
1146
  <h3 class="signature " id="equal?-instance_method">
1101
1147
 
1102
- #<strong>equal?</strong>(other) &#x21d2; <tt>Boolean</tt>
1148
+ #<strong>equal?</strong>(other, match_section: false) &#x21d2; <tt>Boolean</tt>
1103
1149
 
1104
1150
 
1105
1151
 
@@ -1131,6 +1177,23 @@ the item belongs</p>
1131
1177
 
1132
1178
  </li>
1133
1179
 
1180
+ <li>
1181
+
1182
+ <span class='name'>match_section</span>
1183
+
1184
+
1185
+ <span class='type'>(<tt>Boolean</tt>)</span>
1186
+
1187
+
1188
+ <em class="default">(defaults to: <tt>false</tt>)</em>
1189
+
1190
+
1191
+ &mdash;
1192
+ <div class='inline'><p>If true, require item sections to match</p>
1193
+ </div>
1194
+
1195
+ </li>
1196
+
1134
1197
  </ul>
1135
1198
 
1136
1199
  <p class="tag_title">Returns:</p>
@@ -1198,6 +1261,45 @@ dates</p>
1198
1261
  </ul>
1199
1262
 
1200
1263
 
1264
+ </div>
1265
+ </div>
1266
+
1267
+ <div class="method_details ">
1268
+ <h3 class="signature " id="finished?-instance_method">
1269
+
1270
+ #<strong>finished?</strong> &#x21d2; <tt>Boolean</tt>
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+ </h3><div class="docstring">
1277
+ <div class="discussion">
1278
+ <p>Test if item has a @done tag</p>
1279
+
1280
+
1281
+ </div>
1282
+ </div>
1283
+ <div class="tags">
1284
+
1285
+ <p class="tag_title">Returns:</p>
1286
+ <ul class="return">
1287
+
1288
+ <li>
1289
+
1290
+
1291
+ <span class='type'>(<tt>Boolean</tt>)</span>
1292
+
1293
+
1294
+
1295
+ &mdash;
1296
+ <div class='inline'><p>true item has @done tag</p>
1297
+ </div>
1298
+
1299
+ </li>
1300
+
1301
+ </ul>
1302
+
1201
1303
  </div>
1202
1304
  </div>
1203
1305
 
@@ -2221,6 +2323,45 @@ thus should not receive a date on the @done tag</p>
2221
2323
  <div class="tags">
2222
2324
 
2223
2325
 
2326
+ </div>
2327
+ </div>
2328
+
2329
+ <div class="method_details ">
2330
+ <h3 class="signature " id="unfinished?-instance_method">
2331
+
2332
+ #<strong>unfinished?</strong> &#x21d2; <tt>Boolean</tt>
2333
+
2334
+
2335
+
2336
+
2337
+
2338
+ </h3><div class="docstring">
2339
+ <div class="discussion">
2340
+ <p>Test if item does not contain @done tag</p>
2341
+
2342
+
2343
+ </div>
2344
+ </div>
2345
+ <div class="tags">
2346
+
2347
+ <p class="tag_title">Returns:</p>
2348
+ <ul class="return">
2349
+
2350
+ <li>
2351
+
2352
+
2353
+ <span class='type'>(<tt>Boolean</tt>)</span>
2354
+
2355
+
2356
+
2357
+ &mdash;
2358
+ <div class='inline'><p>true if item is missing @done tag</p>
2359
+ </div>
2360
+
2361
+ </li>
2362
+
2363
+ </ul>
2364
+
2224
2365
  </div>
2225
2366
  </div>
2226
2367
 
@@ -2229,7 +2370,7 @@ thus should not receive a date on the @done tag</p>
2229
2370
  </div>
2230
2371
 
2231
2372
  <div id="footer">
2232
- Generated on Wed Feb 16 07:23:35 2022 by
2373
+ Generated on Sun Feb 20 09:36:52 2022 by
2233
2374
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2234
2375
  0.9.27 (ruby-3.0.1).
2235
2376
  </div>
@@ -197,6 +197,51 @@
197
197
 
198
198
 
199
199
 
200
+ <span class="summary_desc"><div class='inline'></div></span>
201
+
202
+ </li>
203
+
204
+
205
+ <li class="public ">
206
+ <span class="summary_signature">
207
+
208
+ <a href="#dedup-instance_method" title="#dedup (instance method)">#<strong>dedup</strong>(match_section: true) &#x21d2; Items </a>
209
+
210
+
211
+
212
+ </span>
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+ <span class="summary_desc"><div class='inline'><p>Remove duplicated entries.</p>
223
+ </div></span>
224
+
225
+ </li>
226
+
227
+
228
+ <li class="public ">
229
+ <span class="summary_signature">
230
+
231
+ <a href="#dedup!-instance_method" title="#dedup! (instance method)">#<strong>dedup!</strong>(match_section: true) &#x21d2; Object </a>
232
+
233
+
234
+
235
+ </span>
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
200
245
  <span class="summary_desc"><div class='inline'></div></span>
201
246
 
202
247
  </li>
@@ -222,6 +267,28 @@
222
267
  <span class="summary_desc"><div class='inline'><p>Delete an item from the index.</p>
223
268
  </div></span>
224
269
 
270
+ </li>
271
+
272
+
273
+ <li class="public ">
274
+ <span class="summary_signature">
275
+
276
+ <a href="#delete_section-instance_method" title="#delete_section (instance method)">#<strong>delete_section</strong>(section, log: false) &#x21d2; Object </a>
277
+
278
+
279
+
280
+ </span>
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+ <span class="summary_desc"><div class='inline'></div></span>
291
+
225
292
  </li>
226
293
 
227
294
 
@@ -268,6 +335,28 @@
268
335
  <span class="summary_desc"><div class='inline'><p>Get a new Items object containing only items in a specified section.</p>
269
336
  </div></span>
270
337
 
338
+ </li>
339
+
340
+
341
+ <li class="public ">
342
+ <span class="summary_signature">
343
+
344
+ <a href="#include%3F-instance_method" title="#include? (instance method)">#<strong>include?</strong>(item, match_section: true) &#x21d2; Boolean </a>
345
+
346
+
347
+
348
+ </span>
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+ <span class="summary_desc"><div class='inline'></div></span>
359
+
271
360
  </li>
272
361
 
273
362
 
@@ -553,6 +642,57 @@ creation of the section.</p>
553
642
 
554
643
 
555
644
 
645
+ </h3>
646
+ </div>
647
+
648
+ <div class="method_details ">
649
+ <h3 class="signature " id="dedup-instance_method">
650
+
651
+ #<strong>dedup</strong>(match_section: true) &#x21d2; <tt><span class='object_link'><a href="" title="Doing::Items (class)">Items</a></span></tt>
652
+
653
+
654
+
655
+
656
+
657
+ </h3><div class="docstring">
658
+ <div class="discussion">
659
+ <p>Remove duplicated entries. Duplicate entries must have matching start date, title, note, and section</p>
660
+
661
+
662
+ </div>
663
+ </div>
664
+ <div class="tags">
665
+
666
+ <p class="tag_title">Returns:</p>
667
+ <ul class="return">
668
+
669
+ <li>
670
+
671
+
672
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Doing::Items (class)">Items</a></span></tt>)</span>
673
+
674
+
675
+
676
+ &mdash;
677
+ <div class='inline'><p>Items array with duplicate entries removed</p>
678
+ </div>
679
+
680
+ </li>
681
+
682
+ </ul>
683
+
684
+ </div>
685
+ </div>
686
+
687
+ <div class="method_details ">
688
+ <h3 class="signature " id="dedup!-instance_method">
689
+
690
+ #<strong>dedup!</strong>(match_section: true) &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
691
+
692
+
693
+
694
+
695
+
556
696
  </h3>
557
697
  </div>
558
698
 
@@ -594,6 +734,40 @@ creation of the section.</p>
594
734
  </ul>
595
735
 
596
736
 
737
+ </div>
738
+ </div>
739
+
740
+ <div class="method_details ">
741
+ <h3 class="signature " id="delete_section-instance_method">
742
+
743
+ #<strong>delete_section</strong>(section, log: false) &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
744
+
745
+
746
+
747
+
748
+
749
+ </h3><div class="docstring">
750
+ <div class="discussion">
751
+
752
+
753
+ </div>
754
+ </div>
755
+ <div class="tags">
756
+
757
+ <p class="tag_title">Raises:</p>
758
+ <ul class="raise">
759
+
760
+ <li>
761
+
762
+
763
+ <span class='type'>(<tt>DoingRuntimeError</tt>)</span>
764
+
765
+
766
+
767
+ </li>
768
+
769
+ </ul>
770
+
597
771
  </div>
598
772
  </div>
599
773
 
@@ -694,6 +868,40 @@ specified section</p>
694
868
 
695
869
  </ul>
696
870
 
871
+ </div>
872
+ </div>
873
+
874
+ <div class="method_details ">
875
+ <h3 class="signature " id="include?-instance_method">
876
+
877
+ #<strong>include?</strong>(item, match_section: true) &#x21d2; <tt>Boolean</tt>
878
+
879
+
880
+
881
+
882
+
883
+ </h3><div class="docstring">
884
+ <div class="discussion">
885
+
886
+
887
+ </div>
888
+ </div>
889
+ <div class="tags">
890
+
891
+ <p class="tag_title">Returns:</p>
892
+ <ul class="return">
893
+
894
+ <li>
895
+
896
+
897
+ <span class='type'>(<tt>Boolean</tt>)</span>
898
+
899
+
900
+
901
+ </li>
902
+
903
+ </ul>
904
+
697
905
  </div>
698
906
  </div>
699
907
 
@@ -890,7 +1098,7 @@ specified section</p>
890
1098
  </div>
891
1099
 
892
1100
  <div id="footer">
893
- Generated on Wed Feb 16 07:23:35 2022 by
1101
+ Generated on Sun Feb 20 09:36:52 2022 by
894
1102
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
895
1103
  0.9.27 (ruby-3.0.1).
896
1104
  </div>
@@ -1797,7 +1797,7 @@ message (optional)</p>
1797
1797
  </div>
1798
1798
 
1799
1799
  <div id="footer">
1800
- Generated on Wed Feb 16 07:23:35 2022 by
1800
+ Generated on Fri Feb 18 12:22:37 2022 by
1801
1801
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1802
1802
  0.9.27 (ruby-3.0.1).
1803
1803
  </div>