doing 2.1.39 → 2.1.42

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 (229) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/CHANGELOG.md +67 -0
  4. data/Gemfile.lock +1 -1
  5. data/README.md +1 -1
  6. data/Rakefile +4 -4
  7. data/bin/commands/again.rb +1 -3
  8. data/bin/commands/changes.rb +50 -34
  9. data/bin/commands/commands.rb +77 -52
  10. data/bin/commands/commands_accepting.rb +57 -53
  11. data/bin/commands/config.rb +45 -36
  12. data/bin/commands/done.rb +1 -18
  13. data/bin/commands/finish.rb +90 -59
  14. data/bin/commands/flag.rb +5 -1
  15. data/bin/commands/grep.rb +3 -14
  16. data/bin/commands/last.rb +2 -8
  17. data/bin/commands/meanwhile.rb +13 -6
  18. data/bin/commands/now.rb +151 -107
  19. data/bin/commands/on.rb +8 -18
  20. data/bin/commands/recent.rb +2 -8
  21. data/bin/commands/reset.rb +24 -1
  22. data/bin/commands/select.rb +1 -1
  23. data/bin/commands/show.rb +6 -17
  24. data/bin/commands/since.rb +1 -12
  25. data/bin/commands/tag_dir.rb +49 -15
  26. data/bin/commands/today.rb +2 -13
  27. data/bin/commands/undo.rb +4 -6
  28. data/bin/commands/view.rb +1 -1
  29. data/bin/commands/yesterday.rb +2 -13
  30. data/bin/doing +15 -8
  31. data/{Dockerfile → docker/Dockerfile} +3 -1
  32. data/{Dockerfile-2.6 → docker/Dockerfile-2.6} +2 -2
  33. data/{Dockerfile-2.7 → docker/Dockerfile-2.7} +2 -2
  34. data/{Dockerfile-3.0 → docker/Dockerfile-3.0} +2 -2
  35. data/{bash_profile → docker/bash_profile} +0 -0
  36. data/{inputrc → docker/inputrc} +0 -0
  37. data/docs/doc/Array.html +85 -2
  38. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  39. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  40. data/docs/doc/BooleanTermParser/Query.html +1 -1
  41. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  42. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  43. data/docs/doc/BooleanTermParser.html +1 -1
  44. data/docs/doc/Doing/ArrayNestedHash.html +198 -0
  45. data/docs/doc/Doing/ArrayTags.html +424 -0
  46. data/docs/doc/Doing/CSVExport.html +266 -0
  47. data/docs/doc/Doing/CalendarImport.html +232 -0
  48. data/docs/doc/Doing/Change.html +617 -0
  49. data/docs/doc/Doing/Changes.html +468 -0
  50. data/docs/doc/Doing/ChronifyArray.html +347 -0
  51. data/docs/doc/Doing/ChronifyNumeric.html +271 -0
  52. data/docs/doc/Doing/ChronifyString.html +682 -0
  53. data/docs/doc/Doing/Color.html +167 -21
  54. data/docs/doc/Doing/Completion/BashCompletions.html +445 -0
  55. data/docs/doc/Doing/Completion/FishCompletions.html +445 -0
  56. data/docs/doc/Doing/Completion/StringUtils.html +229 -0
  57. data/docs/doc/Doing/Completion/ZshCompletions.html +445 -0
  58. data/docs/doc/Doing/Completion.html +17 -3
  59. data/docs/doc/Doing/Configuration.html +3 -2
  60. data/docs/doc/Doing/DayOneRenderer.html +383 -0
  61. data/docs/doc/Doing/DayoneExport.html +290 -0
  62. data/docs/doc/Doing/DoingImport.html +391 -0
  63. data/docs/doc/Doing/Entry.html +381 -0
  64. data/docs/doc/Doing/Errors/DoingNoTraceError.html +7 -3
  65. data/docs/doc/Doing/Errors/DoingRuntimeError.html +7 -3
  66. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  67. data/docs/doc/Doing/Errors/EmptyInput.html +10 -2
  68. data/docs/doc/Doing/Errors/HistoryLimitError.html +194 -0
  69. data/docs/doc/Doing/Errors/InvalidPlugin.html +194 -0
  70. data/docs/doc/Doing/Errors/MissingBackupFile.html +194 -0
  71. data/docs/doc/Doing/Errors/NoResults.html +10 -2
  72. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  73. data/docs/doc/Doing/Errors/UserCancelled.html +10 -2
  74. data/docs/doc/Doing/Errors/WrongCommand.html +10 -2
  75. data/docs/doc/Doing/Errors.html +9 -9
  76. data/docs/doc/Doing/HTMLExport.html +256 -0
  77. data/docs/doc/Doing/Hooks.html +1 -1
  78. data/docs/doc/Doing/Item.html +179 -1660
  79. data/docs/doc/Doing/ItemDates.html +564 -0
  80. data/docs/doc/Doing/ItemQuery.html +614 -0
  81. data/docs/doc/Doing/ItemState.html +387 -0
  82. data/docs/doc/Doing/ItemTags.html +498 -0
  83. data/docs/doc/Doing/Items.html +581 -15
  84. data/docs/doc/Doing/JSONExport.html +222 -0
  85. data/docs/doc/Doing/Logger.html +1 -1
  86. data/docs/doc/Doing/MarkdownExport.html +266 -0
  87. data/docs/doc/Doing/MarkdownRenderer.html +383 -0
  88. data/docs/doc/Doing/Note.html +18 -4
  89. data/docs/doc/Doing/Pager.html +1 -1
  90. data/docs/doc/Doing/Plugins.html +181 -76
  91. data/docs/doc/Doing/Prompt.html +32 -683
  92. data/docs/doc/Doing/PromptChoose.html +484 -0
  93. data/docs/doc/Doing/PromptFZF.html +391 -0
  94. data/docs/doc/Doing/PromptInput.html +572 -0
  95. data/docs/doc/Doing/PromptSTD.html +293 -0
  96. data/docs/doc/Doing/PromptYN.html +237 -0
  97. data/docs/doc/Doing/Section.html +58 -2
  98. data/docs/doc/Doing/StringHighlight.html +533 -0
  99. data/docs/doc/Doing/StringNormalize.html +929 -0
  100. data/docs/doc/Doing/StringQuery.html +725 -0
  101. data/docs/doc/Doing/StringTags.html +884 -0
  102. data/docs/doc/Doing/StringTransform.html +599 -0
  103. data/docs/doc/Doing/StringTruncate.html +448 -0
  104. data/docs/doc/Doing/StringURL.html +409 -0
  105. data/docs/doc/Doing/SymbolNormalize.html +341 -0
  106. data/docs/doc/Doing/TaskPaperExport.html +222 -0
  107. data/docs/doc/Doing/TemplateExport.html +249 -0
  108. data/docs/doc/Doing/TemplateString.html +102 -3
  109. data/docs/doc/Doing/TimingImport.html +285 -0
  110. data/docs/doc/Doing/Types.html +1 -1
  111. data/docs/doc/Doing/Util/Backup.html +11 -163
  112. data/docs/doc/Doing/Util.html +67 -10
  113. data/docs/doc/Doing/Version.html +523 -0
  114. data/docs/doc/Doing/WWID/WWIDUtil.html +510 -0
  115. data/docs/doc/Doing/WWID.html +476 -139
  116. data/docs/doc/Doing/WWIDDisplay.html +865 -0
  117. data/docs/doc/Doing/WWIDEditor.html +466 -0
  118. data/docs/doc/Doing/WWIDFileTools.html +359 -0
  119. data/docs/doc/Doing/WWIDFilter.html +466 -0
  120. data/docs/doc/Doing/WWIDGuess.html +299 -0
  121. data/docs/doc/Doing/WWIDInteractive.html +752 -0
  122. data/docs/doc/Doing/WWIDModify.html +1078 -0
  123. data/docs/doc/Doing/WWIDTags.html +302 -0
  124. data/docs/doc/Doing/WWIDTimers.html +359 -0
  125. data/docs/doc/Doing/WWIDUtil.html +510 -0
  126. data/docs/doc/Doing.html +9 -6
  127. data/docs/doc/FalseClass.html +1 -1
  128. data/docs/doc/GLI/Commands/Help.html +1 -1
  129. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  130. data/docs/doc/GLI/Commands.html +1 -1
  131. data/docs/doc/GLI.html +1 -1
  132. data/docs/doc/Hash.html +1 -1
  133. data/docs/doc/Numeric.html +23 -78
  134. data/docs/doc/Object.html +1 -1
  135. data/docs/doc/PhraseParser/Operator.html +1 -1
  136. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  137. data/docs/doc/PhraseParser/Query.html +1 -1
  138. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  139. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  140. data/docs/doc/PhraseParser/TermClause.html +1 -1
  141. data/docs/doc/PhraseParser.html +1 -1
  142. data/docs/doc/Status.html +1 -1
  143. data/docs/doc/String.html +58 -633
  144. data/docs/doc/Symbol.html +9 -224
  145. data/docs/doc/Time.html +119 -13
  146. data/docs/doc/TrueClass.html +1 -1
  147. data/docs/doc/_index.html +348 -4
  148. data/docs/doc/class_list.html +1 -1
  149. data/docs/doc/file.README.html +2 -2
  150. data/docs/doc/index.html +2 -2
  151. data/docs/doc/method_list.html +1904 -592
  152. data/docs/doc/top-level-namespace.html +12 -4
  153. data/docs/index.md +1 -1
  154. data/doing.rdoc +67 -15
  155. data/lib/completion/_doing.zsh +6 -6
  156. data/lib/completion/doing.bash +10 -10
  157. data/lib/completion/doing.fish +10 -3
  158. data/lib/doing/add_options.rb +39 -1
  159. data/lib/doing/array/array.rb +18 -12
  160. data/lib/doing/array/cleanup.rb +31 -0
  161. data/lib/doing/array/nested_hash.rb +1 -1
  162. data/lib/doing/array/tags.rb +6 -5
  163. data/lib/doing/changelog/changelog.rb +6 -0
  164. data/lib/doing/chronify/array.rb +65 -25
  165. data/lib/doing/chronify/chronify.rb +12 -0
  166. data/lib/doing/chronify/numeric.rb +3 -2
  167. data/lib/doing/chronify/string.rb +1 -1
  168. data/lib/doing/colors.rb +77 -30
  169. data/lib/doing/completion/completion_string.rb +25 -0
  170. data/lib/doing/completion.rb +4 -5
  171. data/lib/doing/configuration.rb +7 -3
  172. data/lib/doing/errors.rb +51 -35
  173. data/lib/doing/good.rb +8 -0
  174. data/lib/doing/hooks.rb +3 -3
  175. data/lib/doing/item/dates.rb +112 -0
  176. data/lib/doing/item/item.rb +128 -0
  177. data/lib/doing/{item.rb → item/query.rb} +2 -353
  178. data/lib/doing/item/state.rb +59 -0
  179. data/lib/doing/item/tags.rb +87 -0
  180. data/lib/doing/items/filter.rb +67 -0
  181. data/lib/doing/items/items.rb +57 -0
  182. data/lib/doing/items/modify.rb +36 -0
  183. data/lib/doing/items/sections.rb +83 -0
  184. data/lib/doing/items/util.rb +74 -0
  185. data/lib/doing/normalize.rb +10 -2
  186. data/lib/doing/note.rb +1 -1
  187. data/lib/doing/pager.rb +9 -3
  188. data/lib/doing/plugin_manager.rb +33 -8
  189. data/lib/doing/plugins/export/markdown_export.rb +4 -2
  190. data/lib/doing/plugins/export/template_export.rb +4 -4
  191. data/lib/doing/plugins/import/cal_to_json.scpt +0 -0
  192. data/lib/doing/plugins/import/doing_import.rb +1 -1
  193. data/lib/doing/prompt/choose.rb +118 -0
  194. data/lib/doing/prompt/fzf.rb +84 -0
  195. data/lib/doing/prompt/input.rb +129 -0
  196. data/lib/doing/prompt/prompt.rb +41 -0
  197. data/lib/doing/prompt/std.rb +32 -0
  198. data/lib/doing/prompt/yn.rb +64 -0
  199. data/lib/doing/section.rb +4 -0
  200. data/lib/doing/string/highlight.rb +1 -1
  201. data/lib/doing/string/query.rb +1 -1
  202. data/lib/doing/string/string.rb +18 -7
  203. data/lib/doing/string/tags.rb +14 -3
  204. data/lib/doing/string/transform.rb +7 -1
  205. data/lib/doing/string/truncate.rb +1 -1
  206. data/lib/doing/string/url.rb +1 -1
  207. data/lib/doing/time.rb +19 -1
  208. data/lib/doing/util.rb +12 -6
  209. data/lib/doing/util_backup.rb +62 -57
  210. data/lib/doing/version.rb +1 -1
  211. data/lib/doing/wwid/display.rb +396 -0
  212. data/lib/doing/wwid/editor.rb +214 -0
  213. data/lib/doing/wwid/filetools.rb +183 -0
  214. data/lib/doing/wwid/filter.rb +226 -0
  215. data/lib/doing/wwid/guess.rb +85 -0
  216. data/lib/doing/wwid/interactive.rb +377 -0
  217. data/lib/doing/wwid/modify.rb +617 -0
  218. data/lib/doing/wwid/tags.rb +51 -0
  219. data/lib/doing/wwid/timers.rb +342 -0
  220. data/lib/doing/wwid/wwid.rb +121 -0
  221. data/lib/doing/wwid/wwidutil.rb +101 -0
  222. data/lib/doing.rb +7 -7
  223. data/lib/helpers/threaded_tests.rb +1 -0
  224. metadata +94 -14
  225. data/lib/doing/changelog.rb +0 -6
  226. data/lib/doing/completion/string.rb +0 -17
  227. data/lib/doing/items.rb +0 -196
  228. data/lib/doing/prompt.rb +0 -330
  229. data/lib/doing/wwid.rb +0 -2398
@@ -99,7 +99,9 @@
99
99
 
100
100
  <dl>
101
101
  <dt>Defined in:</dt>
102
- <dd>lib/doing/wwid.rb</dd>
102
+ <dd>lib/doing/wwid/wwid.rb<span class="defines">,<br />
103
+ lib/doing/wwid/tags.rb,<br /> lib/doing/wwid/guess.rb,<br /> lib/doing/wwid/editor.rb,<br /> lib/doing/wwid/filter.rb,<br /> lib/doing/wwid/modify.rb,<br /> lib/doing/wwid/timers.rb,<br /> lib/doing/wwid/display.rb,<br /> lib/doing/wwid/wwidutil.rb,<br /> lib/doing/wwid/filetools.rb,<br /> lib/doing/wwid/interactive.rb</span>
104
+ </dd>
103
105
  </dl>
104
106
 
105
107
  </div>
@@ -149,7 +151,7 @@
149
151
 
150
152
 
151
153
 
152
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute additional_configs.</p>
154
+ <span class="summary_desc"><div class='inline'><p>Local configuration files detected at initialization.</p>
153
155
  </div></span>
154
156
 
155
157
  </li>
@@ -201,7 +203,7 @@
201
203
 
202
204
 
203
205
 
204
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute config_file.</p>
206
+ <span class="summary_desc"><div class='inline'><p>The location of the main config file.</p>
205
207
  </div></span>
206
208
 
207
209
  </li>
@@ -229,7 +231,7 @@
229
231
 
230
232
 
231
233
 
232
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute content.</p>
234
+ <span class="summary_desc"><div class='inline'><p>The Items object into which all entries are read.</p>
233
235
  </div></span>
234
236
 
235
237
  </li>
@@ -257,7 +259,7 @@
257
259
 
258
260
 
259
261
 
260
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute current_section.</p>
262
+ <span class="summary_desc"><div class='inline'><p>The Currently section defined in configuration.</p>
261
263
  </div></span>
262
264
 
263
265
  </li>
@@ -283,7 +285,7 @@
283
285
 
284
286
 
285
287
 
286
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute default_option.</p>
288
+ <span class="summary_desc"><div class='inline'><p>[Boolean] the default option to provide in Y/N dialogs.</p>
287
289
  </div></span>
288
290
 
289
291
  </li>
@@ -311,7 +313,35 @@
311
313
 
312
314
 
313
315
 
314
- <span class="summary_desc"><div class='inline'><p>Returns the value of attribute doing_file.</p>
316
+ <span class="summary_desc"><div class='inline'><p>The location of the Doing file defined in configuration.</p>
317
+ </div></span>
318
+
319
+ </li>
320
+
321
+
322
+ <li class="public ">
323
+ <span class="summary_signature">
324
+
325
+ <a href="#initial_content-instance_method" title="#initial_content (instance method)">#<strong>initial_content</strong> &#x21d2; Object </a>
326
+
327
+
328
+
329
+ </span>
330
+
331
+
332
+
333
+
334
+ <span class="note title readonly">readonly</span>
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+ <span class="summary_desc"><div class='inline'><p>A frozen copy of the content object before any modification.</p>
315
345
  </div></span>
316
346
 
317
347
  </li>
@@ -401,7 +431,7 @@
401
431
  <li class="public ">
402
432
  <span class="summary_signature">
403
433
 
404
- <a href="#all_tags-instance_method" title="#all_tags (instance method)">#<strong>all_tags</strong>(items, opt: {}, counts: false) &#x21d2; Object </a>
434
+ <a href="#all_tags-instance_method" title="#all_tags (instance method)">#<strong>all_tags</strong>(items, opt: {}, counts: false) &#x21d2; Hash, Array </a>
405
435
 
406
436
 
407
437
 
@@ -415,7 +445,8 @@
415
445
 
416
446
 
417
447
 
418
- <span class="summary_desc"><div class='inline'></div></span>
448
+ <span class="summary_desc"><div class='inline'><p>List all tags that exist on given items.</p>
449
+ </div></span>
419
450
 
420
451
  </li>
421
452
 
@@ -463,6 +494,29 @@
463
494
  <span class="summary_desc"><div class='inline'><p>Uses &#39;autotag&#39; configuration to turn keywords into tags for time tracking.</p>
464
495
  </div></span>
465
496
 
497
+ </li>
498
+
499
+
500
+ <li class="public ">
501
+ <span class="summary_signature">
502
+
503
+ <a href="#changes-instance_method" title="#changes (instance method)">#<strong>changes</strong> &#x21d2; Hash </a>
504
+
505
+
506
+
507
+ </span>
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+
517
+ <span class="summary_desc"><div class='inline'><p>Return a hash of changes between initial file read and current Items object.</p>
518
+ </div></span>
519
+
466
520
  </li>
467
521
 
468
522
 
@@ -621,7 +675,7 @@
621
675
 
622
676
 
623
677
 
624
- <span class="summary_desc"><div class='inline'><p>Remove items from an array that already exist in.</p>
678
+ <span class="summary_desc"><div class='inline'><p>Remove items from an array that already exist in :content based on start and end times.</p>
625
679
  </div></span>
626
680
 
627
681
  </li>
@@ -644,7 +698,8 @@
644
698
 
645
699
 
646
700
 
647
- <span class="summary_desc"><div class='inline'></div></span>
701
+ <span class="summary_desc"><div class='inline'><p>Delete a set of items from the main index.</p>
702
+ </div></span>
648
703
 
649
704
  </li>
650
705
 
@@ -766,7 +821,7 @@
766
821
  <li class="public ">
767
822
  <span class="summary_signature">
768
823
 
769
- <a href="#fuzzy_filter_items-instance_method" title="#fuzzy_filter_items (instance method)">#<strong>fuzzy_filter_items</strong>(items, opt: {}) &#x21d2; Object </a>
824
+ <a href="#fuzzy_filter_items-instance_method" title="#fuzzy_filter_items (instance method)">#<strong>fuzzy_filter_items</strong>(items, query, case_type: :smart) &#x21d2; Items </a>
770
825
 
771
826
 
772
827
 
@@ -780,7 +835,8 @@
780
835
 
781
836
 
782
837
 
783
- <span class="summary_desc"><div class='inline'></div></span>
838
+ <span class="summary_desc"><div class='inline'><p>Use fzf to filter an Items object with a search query.</p>
839
+ </div></span>
784
840
 
785
841
  </li>
786
842
 
@@ -802,7 +858,8 @@
802
858
 
803
859
 
804
860
 
805
- <span class="summary_desc"><div class='inline'></div></span>
861
+ <span class="summary_desc"><div class='inline'><p>Get difference between current content and last backup.</p>
862
+ </div></span>
806
863
 
807
864
  </li>
808
865
 
@@ -1128,29 +1185,6 @@
1128
1185
  <span class="summary_desc"><div class='inline'><p>Logger.</p>
1129
1186
  </div></span>
1130
1187
 
1131
- </li>
1132
-
1133
-
1134
- <li class="public ">
1135
- <span class="summary_signature">
1136
-
1137
- <a href="#next_item-instance_method" title="#next_item (instance method)">#<strong>next_item</strong>(item, options = {}) &#x21d2; Item </a>
1138
-
1139
-
1140
-
1141
- </span>
1142
-
1143
-
1144
-
1145
-
1146
-
1147
-
1148
-
1149
-
1150
-
1151
- <span class="summary_desc"><div class='inline'><p>Get next item in the index.</p>
1152
- </div></span>
1153
-
1154
1188
  </li>
1155
1189
 
1156
1190
 
@@ -1226,7 +1260,7 @@
1226
1260
  <li class="public ">
1227
1261
  <span class="summary_signature">
1228
1262
 
1229
- <a href="#reset_item-instance_method" title="#reset_item (instance method)">#<strong>reset_item</strong>(item, date: nil, resume: false) &#x21d2; Object </a>
1263
+ <a href="#reset_item-instance_method" title="#reset_item (instance method)">#<strong>reset_item</strong>(item, date: nil, finish_date: nil, resume: false) &#x21d2; Object </a>
1230
1264
 
1231
1265
 
1232
1266
 
@@ -1423,7 +1457,8 @@
1423
1457
 
1424
1458
 
1425
1459
 
1426
- <span class="summary_desc"><div class='inline'></div></span>
1460
+ <span class="summary_desc"><div class='inline'><p>Interactively verify an item modification if elapsed time is greater than configured threshold.</p>
1461
+ </div></span>
1427
1462
 
1428
1463
  </li>
1429
1464
 
@@ -1510,7 +1545,7 @@
1510
1545
 
1511
1546
 
1512
1547
  <h3 class="inherited">Methods included from <span class='object_link'><a href="Color.html" title="Doing::Color (module)">Color</a></span></h3>
1513
- <p class="inherited"><span class='object_link'><a href="Color.html#attributes-class_method" title="Doing::Color.attributes (method)">attributes</a></span>, <span class='object_link'><a href="Color.html#coloring%3F-class_method" title="Doing::Color.coloring? (method)">coloring?</a></span>, <span class='object_link'><a href="Color.html#support%3F-instance_method" title="Doing::Color#support? (method)">#support?</a></span>, <span class='object_link'><a href="Color.html#uncolor-instance_method" title="Doing::Color#uncolor (method)">#uncolor</a></span></p>
1548
+ <p class="inherited"><span class='object_link'><a href="Color.html#attributes-instance_method" title="Doing::Color#attributes (method)">#attributes</a></span>, <span class='object_link'><a href="Color.html#coloring%3F-class_method" title="Doing::Color.coloring? (method)">coloring?</a></span>, <span class='object_link'><a href="Color.html#support%3F-instance_method" title="Doing::Color#support? (method)">#support?</a></span>, <span class='object_link'><a href="Color.html#template-class_method" title="Doing::Color.template (method)">template</a></span>, <span class='object_link'><a href="Color.html#uncolor-instance_method" title="Doing::Color#uncolor (method)">#uncolor</a></span></p>
1514
1549
  <div id="constructor_details" class="method_details_list">
1515
1550
  <h2>Constructor Details</h2>
1516
1551
 
@@ -1554,7 +1589,7 @@
1554
1589
 
1555
1590
  </h3><div class="docstring">
1556
1591
  <div class="discussion">
1557
- <p>Returns the value of attribute additional_configs.</p>
1592
+ <p>Local configuration files detected at initialization</p>
1558
1593
 
1559
1594
 
1560
1595
  </div>
@@ -1602,7 +1637,7 @@
1602
1637
 
1603
1638
  </h3><div class="docstring">
1604
1639
  <div class="discussion">
1605
- <p>Returns the value of attribute config_file.</p>
1640
+ <p>The location of the main config file</p>
1606
1641
 
1607
1642
 
1608
1643
  </div>
@@ -1626,7 +1661,7 @@
1626
1661
 
1627
1662
  </h3><div class="docstring">
1628
1663
  <div class="discussion">
1629
- <p>Returns the value of attribute content.</p>
1664
+ <p>The Items object into which all entries are read</p>
1630
1665
 
1631
1666
 
1632
1667
  </div>
@@ -1650,7 +1685,7 @@
1650
1685
 
1651
1686
  </h3><div class="docstring">
1652
1687
  <div class="discussion">
1653
- <p>Returns the value of attribute current_section.</p>
1688
+ <p>The Currently section defined in configuration</p>
1654
1689
 
1655
1690
 
1656
1691
  </div>
@@ -1674,7 +1709,7 @@
1674
1709
 
1675
1710
  </h3><div class="docstring">
1676
1711
  <div class="discussion">
1677
- <p>Returns the value of attribute default_option.</p>
1712
+ <p>[Boolean] the default option to provide in Y/N dialogs</p>
1678
1713
 
1679
1714
 
1680
1715
  </div>
@@ -1698,7 +1733,31 @@
1698
1733
 
1699
1734
  </h3><div class="docstring">
1700
1735
  <div class="discussion">
1701
- <p>Returns the value of attribute doing_file.</p>
1736
+ <p>The location of the Doing file defined in configuration</p>
1737
+
1738
+
1739
+ </div>
1740
+ </div>
1741
+ <div class="tags">
1742
+
1743
+
1744
+ </div>
1745
+ </div>
1746
+
1747
+
1748
+ <span id=""></span>
1749
+ <div class="method_details ">
1750
+ <h3 class="signature " id="initial_content-instance_method">
1751
+
1752
+ #<strong>initial_content</strong> &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt> <span class="extras">(readonly)</span>
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+ </h3><div class="docstring">
1759
+ <div class="discussion">
1760
+ <p>A frozen copy of the content object before any modification</p>
1702
1761
 
1703
1762
 
1704
1763
  </div>
@@ -1978,7 +2037,7 @@
1978
2037
 
1979
2038
  <li>
1980
2039
  <span class="name">:note</span>
1981
- <span class="type">(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
2040
+ <span class="type">(<tt><span class='object_link'><a href="Note.html" title="Doing::Note (class)">Note</a></span></tt>)</span>
1982
2041
  <span class="default">
1983
2042
 
1984
2043
  </span>
@@ -2068,13 +2127,109 @@
2068
2127
  <div class="method_details ">
2069
2128
  <h3 class="signature " id="all_tags-instance_method">
2070
2129
 
2071
- #<strong>all_tags</strong>(items, opt: {}, counts: false) &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
2130
+ #<strong>all_tags</strong>(items, opt: {}, counts: false) &#x21d2; <tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>, <tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>
2072
2131
 
2073
2132
 
2074
2133
 
2075
2134
 
2076
2135
 
2077
- </h3>
2136
+ </h3><div class="docstring">
2137
+ <div class="discussion">
2138
+ <p>List all tags that exist on given items</p>
2139
+
2140
+
2141
+ </div>
2142
+ </div>
2143
+ <div class="tags">
2144
+ <p class="tag_title">Parameters:</p>
2145
+ <ul class="param">
2146
+
2147
+ <li>
2148
+
2149
+ <span class='name'>items</span>
2150
+
2151
+
2152
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
2153
+
2154
+
2155
+
2156
+ &mdash;
2157
+ <div class='inline'><p>array of Item</p>
2158
+ </div>
2159
+
2160
+ </li>
2161
+
2162
+ <li>
2163
+
2164
+ <span class='name'>opt</span>
2165
+
2166
+
2167
+ <span class='type'>(<tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>)</span>
2168
+
2169
+
2170
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
2171
+
2172
+
2173
+ &mdash;
2174
+ <div class='inline'><p>additional options</p>
2175
+ </div>
2176
+
2177
+ </li>
2178
+
2179
+ <li>
2180
+
2181
+ <span class='name'>counts</span>
2182
+
2183
+
2184
+ <span class='type'>(<tt>Boolean</tt>)</span>
2185
+
2186
+
2187
+ <em class="default">(defaults to: <tt>false</tt>)</em>
2188
+
2189
+
2190
+ &mdash;
2191
+ <div class='inline'><p>Include tag counts in
2192
+ results</p>
2193
+ </div>
2194
+
2195
+ </li>
2196
+
2197
+ </ul>
2198
+
2199
+ <p class="tag_title">Returns:</p>
2200
+ <ul class="return">
2201
+
2202
+ <li>
2203
+
2204
+
2205
+ <span class='type'>(<tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>)</span>
2206
+
2207
+
2208
+
2209
+ &mdash;
2210
+ <div class='inline'><p>if counts is true, returns a hash with {
2211
+ tag: count }.</p>
2212
+ </div>
2213
+
2214
+ </li>
2215
+
2216
+ <li>
2217
+
2218
+
2219
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
2220
+
2221
+
2222
+
2223
+ &mdash;
2224
+ <div class='inline'><p>If counts is false, returns a simple
2225
+ array of tags.</p>
2226
+ </div>
2227
+
2228
+ </li>
2229
+
2230
+ </ul>
2231
+
2232
+ </div>
2078
2233
  </div>
2079
2234
 
2080
2235
  <div class="method_details ">
@@ -2176,6 +2331,47 @@ untagged keyword</p>
2176
2331
  </ul>
2177
2332
 
2178
2333
 
2334
+ </div>
2335
+ </div>
2336
+
2337
+ <div class="method_details ">
2338
+ <h3 class="signature " id="changes-instance_method">
2339
+
2340
+ #<strong>changes</strong> &#x21d2; <tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>
2341
+
2342
+
2343
+
2344
+
2345
+
2346
+ </h3><div class="docstring">
2347
+ <div class="discussion">
2348
+ <p>Return a hash of changes between initial file read
2349
+ and current Items object</p>
2350
+
2351
+
2352
+ </div>
2353
+ </div>
2354
+ <div class="tags">
2355
+
2356
+ <p class="tag_title">Returns:</p>
2357
+ <ul class="return">
2358
+
2359
+ <li>
2360
+
2361
+
2362
+ <span class='type'>(<tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>)</span>
2363
+
2364
+
2365
+
2366
+ &mdash;
2367
+ <div class='inline'><p>Hash containing <code>added</code> and
2368
+ <code>removed</code> keys with arrays of Item</p>
2369
+ </div>
2370
+
2371
+ </li>
2372
+
2373
+ </ul>
2374
+
2179
2375
  </div>
2180
2376
  </div>
2181
2377
 
@@ -2413,7 +2609,8 @@ alternative config file</p>
2413
2609
 
2414
2610
  </h3><div class="docstring">
2415
2611
  <div class="discussion">
2416
- <p>Remove items from an array that already exist in</p>
2612
+ <p>Remove items from an array that already exist in
2613
+ :content based on start and end times</p>
2417
2614
 
2418
2615
 
2419
2616
  </div>
@@ -2471,7 +2668,53 @@ overlapping time spans</p>
2471
2668
 
2472
2669
 
2473
2670
 
2474
- </h3>
2671
+ </h3><div class="docstring">
2672
+ <div class="discussion">
2673
+ <p>Delete a set of items from the main index</p>
2674
+
2675
+
2676
+ </div>
2677
+ </div>
2678
+ <div class="tags">
2679
+ <p class="tag_title">Parameters:</p>
2680
+ <ul class="param">
2681
+
2682
+ <li>
2683
+
2684
+ <span class='name'>items</span>
2685
+
2686
+
2687
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
2688
+
2689
+
2690
+
2691
+ &mdash;
2692
+ <div class='inline'><p>The items to delete</p>
2693
+ </div>
2694
+
2695
+ </li>
2696
+
2697
+ <li>
2698
+
2699
+ <span class='name'>force</span>
2700
+
2701
+
2702
+ <span class='type'>(<tt>Boolean</tt>)</span>
2703
+
2704
+
2705
+ <em class="default">(defaults to: <tt>false</tt>)</em>
2706
+
2707
+
2708
+ &mdash;
2709
+ <div class='inline'><p>Force deletion without confirmation</p>
2710
+ </div>
2711
+
2712
+ </li>
2713
+
2714
+ </ul>
2715
+
2716
+
2717
+ </div>
2475
2718
  </div>
2476
2719
 
2477
2720
  <div class="method_details ">
@@ -2525,6 +2768,19 @@ overlapping time spans</p>
2525
2768
 
2526
2769
  </ul>
2527
2770
 
2771
+ <p class="tag_title">Raises:</p>
2772
+ <ul class="raise">
2773
+
2774
+ <li>
2775
+
2776
+
2777
+ <span class='type'>(<tt>UserCancelled</tt>)</span>
2778
+
2779
+
2780
+
2781
+ </li>
2782
+
2783
+ </ul>
2528
2784
 
2529
2785
  </div>
2530
2786
  </div>
@@ -2931,13 +3187,93 @@ overlapping time spans</p>
2931
3187
  <div class="method_details ">
2932
3188
  <h3 class="signature " id="fuzzy_filter_items-instance_method">
2933
3189
 
2934
- #<strong>fuzzy_filter_items</strong>(items, opt: {}) &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
3190
+ #<strong>fuzzy_filter_items</strong>(items, query, case_type: :smart) &#x21d2; <tt><span class='object_link'><a href="Items.html" title="Doing::Items (class)">Items</a></span></tt>
2935
3191
 
2936
3192
 
2937
3193
 
2938
3194
 
2939
3195
 
2940
- </h3>
3196
+ </h3><div class="docstring">
3197
+ <div class="discussion">
3198
+ <p>Use fzf to filter an Items object with a search query.
3199
+ Faster than <span class='object_link'><a href="#filter_items-instance_method" title="Doing::WWID#filter_items (method)">#filter_items</a></span> when all you need is a
3200
+ text search of the title and note</p>
3201
+
3202
+
3203
+ </div>
3204
+ </div>
3205
+ <div class="tags">
3206
+ <p class="tag_title">Parameters:</p>
3207
+ <ul class="param">
3208
+
3209
+ <li>
3210
+
3211
+ <span class='name'>items</span>
3212
+
3213
+
3214
+ <span class='type'>(<tt><span class='object_link'><a href="Items.html" title="Doing::Items (class)">Items</a></span></tt>)</span>
3215
+
3216
+
3217
+
3218
+ &mdash;
3219
+ <div class='inline'><p>an Items object</p>
3220
+ </div>
3221
+
3222
+ </li>
3223
+
3224
+ <li>
3225
+
3226
+ <span class='name'>query</span>
3227
+
3228
+
3229
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
3230
+
3231
+
3232
+
3233
+ &mdash;
3234
+ <div class='inline'><p>The search query</p>
3235
+ </div>
3236
+
3237
+ </li>
3238
+
3239
+ <li>
3240
+
3241
+ <span class='name'>case_type</span>
3242
+
3243
+
3244
+ <span class='type'>(<tt><span class='object_link'><a href="../Symbol.html" title="Symbol (class)">Symbol</a></span></tt>)</span>
3245
+
3246
+
3247
+ <em class="default">(defaults to: <tt>:smart</tt>)</em>
3248
+
3249
+
3250
+ &mdash;
3251
+ <div class='inline'><p>The case type (:smart, :sensitive, :ignore)</p>
3252
+ </div>
3253
+
3254
+ </li>
3255
+
3256
+ </ul>
3257
+
3258
+ <p class="tag_title">Returns:</p>
3259
+ <ul class="return">
3260
+
3261
+ <li>
3262
+
3263
+
3264
+ <span class='type'>(<tt><span class='object_link'><a href="Items.html" title="Doing::Items (class)">Items</a></span></tt>)</span>
3265
+
3266
+
3267
+
3268
+ &mdash;
3269
+ <div class='inline'><p>Filtered Items array</p>
3270
+ </div>
3271
+
3272
+ </li>
3273
+
3274
+ </ul>
3275
+
3276
+ </div>
2941
3277
  </div>
2942
3278
 
2943
3279
  <div class="method_details ">
@@ -2951,12 +3287,34 @@ overlapping time spans</p>
2951
3287
 
2952
3288
  </h3><div class="docstring">
2953
3289
  <div class="discussion">
2954
-
3290
+ <p>Get difference between current content and last backup</p>
3291
+
2955
3292
 
2956
3293
  </div>
2957
3294
  </div>
2958
3295
  <div class="tags">
3296
+ <p class="tag_title">Parameters:</p>
3297
+ <ul class="param">
2959
3298
 
3299
+ <li>
3300
+
3301
+ <span class='name'>filename</span>
3302
+
3303
+
3304
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
3305
+
3306
+
3307
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
3308
+
3309
+
3310
+ &mdash;
3311
+ <div class='inline'><p>The file path</p>
3312
+ </div>
3313
+
3314
+ </li>
3315
+
3316
+ </ul>
3317
+
2960
3318
  <p class="tag_title">Raises:</p>
2961
3319
  <ul class="raise">
2962
3320
 
@@ -3712,88 +4070,6 @@ All</p>
3712
4070
  <div class="tags">
3713
4071
 
3714
4072
 
3715
- </div>
3716
- </div>
3717
-
3718
- <div class="method_details ">
3719
- <h3 class="signature " id="next_item-instance_method">
3720
-
3721
- #<strong>next_item</strong>(item, options = {}) &#x21d2; <tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>
3722
-
3723
-
3724
-
3725
-
3726
-
3727
- </h3><div class="docstring">
3728
- <div class="discussion">
3729
- <p>Get next item in the index</p>
3730
-
3731
-
3732
- </div>
3733
- </div>
3734
- <div class="tags">
3735
- <p class="tag_title">Parameters:</p>
3736
- <ul class="param">
3737
-
3738
- <li>
3739
-
3740
- <span class='name'>item</span>
3741
-
3742
-
3743
- <span class='type'>(<tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>)</span>
3744
-
3745
-
3746
-
3747
- &mdash;
3748
- <div class='inline'><p>target item</p>
3749
- </div>
3750
-
3751
- </li>
3752
-
3753
- <li>
3754
-
3755
- <span class='name'>options</span>
3756
-
3757
-
3758
- <span class='type'>(<tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>)</span>
3759
-
3760
-
3761
- <em class="default">(defaults to: <tt>{}</tt>)</em>
3762
-
3763
-
3764
- &mdash;
3765
- <div class='inline'><p>additional options</p>
3766
- </div>
3767
-
3768
- </li>
3769
-
3770
- </ul>
3771
-
3772
- <p class="tag_title">Returns:</p>
3773
- <ul class="return">
3774
-
3775
- <li>
3776
-
3777
-
3778
- <span class='type'>(<tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>)</span>
3779
-
3780
-
3781
-
3782
- &mdash;
3783
- <div class='inline'><p>the next chronological item in the index</p>
3784
- </div>
3785
-
3786
- </li>
3787
-
3788
- </ul>
3789
-
3790
- <p class="tag_title">See Also:</p>
3791
- <ul class="see">
3792
-
3793
- <li><span class='object_link'><a href="#filter_items-instance_method" title="Doing::WWID#filter_items (method)">#filter_items</a></span></li>
3794
-
3795
- </ul>
3796
-
3797
4073
  </div>
3798
4074
  </div>
3799
4075
 
@@ -4048,7 +4324,7 @@ All</p>
4048
4324
  <div class="method_details ">
4049
4325
  <h3 class="signature " id="reset_item-instance_method">
4050
4326
 
4051
- #<strong>reset_item</strong>(item, date: nil, resume: false) &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
4327
+ #<strong>reset_item</strong>(item, date: nil, finish_date: nil, resume: false) &#x21d2; <tt><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></tt>
4052
4328
 
4053
4329
 
4054
4330
 
@@ -4536,7 +4812,68 @@ json, or text)</p>
4536
4812
 
4537
4813
 
4538
4814
 
4539
- </h3>
4815
+ </h3><div class="docstring">
4816
+ <div class="discussion">
4817
+ <p>Interactively verify an item modification if elapsed time is greater than configured threshold</p>
4818
+
4819
+
4820
+ </div>
4821
+ </div>
4822
+ <div class="tags">
4823
+ <p class="tag_title">Parameters:</p>
4824
+ <ul class="param">
4825
+
4826
+ <li>
4827
+
4828
+ <span class='name'>date</span>
4829
+
4830
+
4831
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
4832
+
4833
+
4834
+
4835
+ &mdash;
4836
+ <div class='inline'><p>Item date</p>
4837
+ </div>
4838
+
4839
+ </li>
4840
+
4841
+ <li>
4842
+
4843
+ <span class='name'>finish_date</span>
4844
+
4845
+
4846
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
4847
+
4848
+
4849
+
4850
+ &mdash;
4851
+ <div class='inline'><p>The finish date</p>
4852
+ </div>
4853
+
4854
+ </li>
4855
+
4856
+ <li>
4857
+
4858
+ <span class='name'>title</span>
4859
+
4860
+
4861
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
4862
+
4863
+
4864
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
4865
+
4866
+
4867
+ &mdash;
4868
+ <div class='inline'><p>The Item title</p>
4869
+ </div>
4870
+
4871
+ </li>
4872
+
4873
+ </ul>
4874
+
4875
+
4876
+ </div>
4540
4877
  </div>
4541
4878
 
4542
4879
  <div class="method_details ">
@@ -4716,7 +5053,7 @@ json, or text)</p>
4716
5053
  </div>
4717
5054
 
4718
5055
  <div id="footer">
4719
- Generated on Sun Mar 13 05:08:08 2022 by
5056
+ Generated on Fri Mar 18 12:56:58 2022 by
4720
5057
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
4721
5058
  0.9.27 (ruby-3.0.1).
4722
5059
  </div>