doing 2.0.23 → 2.1.1pre

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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +19 -15
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/CHANGELOG.md +40 -1
  6. data/Gemfile.lock +8 -1
  7. data/README.md +7 -1
  8. data/Rakefile +23 -4
  9. data/bin/doing +431 -256
  10. data/doc/Array.html +354 -1
  11. data/doc/Doing/Color.html +104 -92
  12. data/doc/Doing/Completion.html +216 -0
  13. data/doc/Doing/Configuration.html +340 -5
  14. data/doc/Doing/Content.html +229 -0
  15. data/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  16. data/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  17. data/doc/Doing/Errors/DoingStandardError.html +1 -1
  18. data/doc/Doing/Errors/EmptyInput.html +1 -1
  19. data/doc/Doing/Errors/NoResults.html +1 -1
  20. data/doc/Doing/Errors/PluginException.html +1 -1
  21. data/doc/Doing/Errors/UserCancelled.html +1 -1
  22. data/doc/Doing/Errors/WrongCommand.html +1 -1
  23. data/doc/Doing/Errors.html +1 -1
  24. data/doc/Doing/Hooks.html +1 -1
  25. data/doc/Doing/Item.html +337 -49
  26. data/doc/Doing/Items.html +444 -35
  27. data/doc/Doing/LogAdapter.html +139 -51
  28. data/doc/Doing/Note.html +253 -22
  29. data/doc/Doing/Pager.html +74 -36
  30. data/doc/Doing/Plugins.html +1 -1
  31. data/doc/Doing/Prompt.html +674 -0
  32. data/doc/Doing/Section.html +354 -0
  33. data/doc/Doing/Util.html +57 -1
  34. data/doc/Doing/WWID.html +517 -890
  35. data/doc/Doing/WWIDFile.html +398 -0
  36. data/doc/Doing.html +5 -5
  37. data/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  38. data/doc/GLI/Commands.html +1 -1
  39. data/doc/GLI.html +1 -1
  40. data/doc/Hash.html +97 -1
  41. data/doc/Status.html +37 -3
  42. data/doc/String.html +833 -53
  43. data/doc/Symbol.html +3 -3
  44. data/doc/Time.html +1 -1
  45. data/doc/_index.html +22 -1
  46. data/doc/class_list.html +1 -1
  47. data/doc/file.README.html +8 -2
  48. data/doc/index.html +8 -2
  49. data/doc/method_list.html +460 -180
  50. data/doc/top-level-namespace.html +1 -1
  51. data/doing.gemspec +3 -0
  52. data/doing.rdoc +163 -44
  53. data/example_plugin.rb +5 -5
  54. data/lib/completion/_doing.zsh +42 -42
  55. data/lib/completion/doing.bash +21 -21
  56. data/lib/completion/doing.fish +1 -280
  57. data/lib/doing/array.rb +36 -0
  58. data/lib/doing/colors.rb +70 -66
  59. data/lib/doing/completion/bash_completion.rb +1 -2
  60. data/lib/doing/completion/fish_completion.rb +1 -1
  61. data/lib/doing/completion/zsh_completion.rb +1 -1
  62. data/lib/doing/completion.rb +6 -0
  63. data/lib/doing/configuration.rb +134 -23
  64. data/lib/doing/hash.rb +37 -0
  65. data/lib/doing/item.rb +77 -12
  66. data/lib/doing/items.rb +125 -0
  67. data/lib/doing/log_adapter.rb +58 -4
  68. data/lib/doing/note.rb +53 -1
  69. data/lib/doing/pager.rb +49 -38
  70. data/lib/doing/plugins/export/markdown_export.rb +4 -4
  71. data/lib/doing/plugins/export/template_export.rb +2 -2
  72. data/lib/doing/plugins/import/calendar_import.rb +4 -4
  73. data/lib/doing/plugins/import/doing_import.rb +5 -7
  74. data/lib/doing/plugins/import/timing_import.rb +3 -3
  75. data/lib/doing/prompt.rb +206 -0
  76. data/lib/doing/section.rb +30 -0
  77. data/lib/doing/string.rb +123 -35
  78. data/lib/doing/string_chronify.rb +81 -0
  79. data/lib/doing/util.rb +14 -6
  80. data/lib/doing/version.rb +1 -1
  81. data/lib/doing/wwid.rb +387 -685
  82. data/lib/doing.rb +7 -2
  83. data/lib/examples/plugins/capture_thing_import.rb +162 -0
  84. data/rdoc_to_mmd.rb +14 -8
  85. data/scripts/generate_bash_completions.rb +1 -1
  86. data/scripts/generate_fish_completions.rb +1 -1
  87. data/scripts/generate_zsh_completions.rb +1 -1
  88. metadata +74 -5
  89. data/lib/doing/wwidfile.rb +0 -117
data/doc/Doing/WWID.html CHANGED
@@ -87,6 +87,11 @@
87
87
 
88
88
 
89
89
 
90
+ <dl>
91
+ <dt>Includes:</dt>
92
+ <dd><span class='object_link'><a href="Color.html" title="Doing::Color (module)">Color</a></span></dd>
93
+ </dl>
94
+
90
95
 
91
96
 
92
97
 
@@ -112,6 +117,12 @@
112
117
  </div>
113
118
 
114
119
 
120
+ <h2>Constant Summary</h2>
121
+
122
+ <h3 class="inherited">Constants included
123
+ from <span class='object_link'><a href="Color.html" title="Doing::Color (module)">Color</a></span></h3>
124
+ <p class="inherited"><span class='object_link'><a href="Color.html#ATTRIBUTES-constant" title="Doing::Color::ATTRIBUTES (constant)">Color::ATTRIBUTES</a></span>, <span class='object_link'><a href="Color.html#ATTRIBUTE_NAMES-constant" title="Doing::Color::ATTRIBUTE_NAMES (constant)">Color::ATTRIBUTE_NAMES</a></span>, <span class='object_link'><a href="Color.html#COLORED_REGEXP-constant" title="Doing::Color::COLORED_REGEXP (constant)">Color::COLORED_REGEXP</a></span></p>
125
+
115
126
 
116
127
  <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
117
128
  <ul class="summary">
@@ -388,29 +399,6 @@
388
399
  <span class="summary_desc"><div class='inline'><p>Adds an entry.</p>
389
400
  </div></span>
390
401
 
391
- </li>
392
-
393
-
394
- <li class="public ">
395
- <span class="summary_signature">
396
-
397
- <a href="#add_section-instance_method" title="#add_section (instance method)">#<strong>add_section</strong>(title) &#x21d2; Object </a>
398
-
399
-
400
-
401
- </span>
402
-
403
-
404
-
405
-
406
-
407
-
408
-
409
-
410
-
411
- <span class="summary_desc"><div class='inline'><p>Adds a section.</p>
412
- </div></span>
413
-
414
402
  </li>
415
403
 
416
404
 
@@ -479,51 +467,6 @@
479
467
  <span class="summary_desc"><div class='inline'><p>Uses &#39;autotag&#39; configuration to turn keywords into tags for time tracking.</p>
480
468
  </div></span>
481
469
 
482
- </li>
483
-
484
-
485
- <li class="public ">
486
- <span class="summary_signature">
487
-
488
- <a href="#choose_from-instance_method" title="#choose_from (instance method)">#<strong>choose_from</strong>(options, prompt: &#39;Make a selection: &#39;, multiple: false, sorted: true, fzf_args: []) &#x21d2; String </a>
489
-
490
-
491
-
492
- </span>
493
-
494
-
495
-
496
-
497
-
498
-
499
-
500
-
501
-
502
- <span class="summary_desc"><div class='inline'><p>Generate a menu of options and allow user selection.</p>
503
- </div></span>
504
-
505
- </li>
506
-
507
-
508
- <li class="public ">
509
- <span class="summary_signature">
510
-
511
- <a href="#choose_from_items-instance_method" title="#choose_from_items (instance method)">#<strong>choose_from_items</strong>(items, opt = {}, include_section: false) &#x21d2; Object </a>
512
-
513
-
514
-
515
- </span>
516
-
517
-
518
-
519
-
520
-
521
-
522
-
523
-
524
-
525
- <span class="summary_desc"><div class='inline'></div></span>
526
-
527
470
  </li>
528
471
 
529
472
 
@@ -570,52 +513,6 @@
570
513
  <span class="summary_desc"><div class='inline'><p>Generate a menu of views and allow user selection.</p>
571
514
  </div></span>
572
515
 
573
- </li>
574
-
575
-
576
- <li class="public ">
577
- <span class="summary_signature">
578
-
579
- <a href="#chronify-instance_method" title="#chronify (instance method)">#<strong>chronify</strong>(input, future: false, guess: :begin) &#x21d2; DateTime </a>
580
-
581
-
582
-
583
- </span>
584
-
585
-
586
-
587
-
588
-
589
-
590
-
591
-
592
-
593
- <span class="summary_desc"><div class='inline'><p>Converts input string into a Time object when input takes on the following formats: - interval format e.g.</p>
594
- </div></span>
595
-
596
- </li>
597
-
598
-
599
- <li class="public ">
600
- <span class="summary_signature">
601
-
602
- <a href="#chronify_qty-instance_method" title="#chronify_qty (instance method)">#<strong>chronify_qty</strong>(qty) &#x21d2; Integer </a>
603
-
604
-
605
-
606
- </span>
607
-
608
-
609
-
610
-
611
-
612
-
613
-
614
-
615
-
616
- <span class="summary_desc"><div class='inline'><p>Converts simple strings into seconds that can be added to a Time object.</p>
617
- </div></span>
618
-
619
516
  </li>
620
517
 
621
518
 
@@ -645,7 +542,7 @@
645
542
  <li class="public ">
646
543
  <span class="summary_signature">
647
544
 
648
- <a href="#dedup-instance_method" title="#dedup (instance method)">#<strong>dedup</strong>(items, no_overlap = false) &#x21d2; Object </a>
545
+ <a href="#dedup-instance_method" title="#dedup (instance method)">#<strong>dedup</strong>(items, no_overlap: false) &#x21d2; Object </a>
649
546
 
650
547
 
651
548
 
@@ -668,7 +565,7 @@
668
565
  <li class="public ">
669
566
  <span class="summary_signature">
670
567
 
671
- <a href="#delete_item-instance_method" title="#delete_item (instance method)">#<strong>delete_item</strong>(item, single: false) &#x21d2; Object </a>
568
+ <a href="#edit_last-instance_method" title="#edit_last (instance method)">#<strong>edit_last</strong>(section: &#39;All&#39;, options: {}) &#x21d2; Object </a>
672
569
 
673
570
 
674
571
 
@@ -682,7 +579,7 @@
682
579
 
683
580
 
684
581
 
685
- <span class="summary_desc"><div class='inline'><p>Delete an item from the index.</p>
582
+ <span class="summary_desc"><div class='inline'><p>Edit the last entry.</p>
686
583
  </div></span>
687
584
 
688
585
  </li>
@@ -691,7 +588,7 @@
691
588
  <li class="public ">
692
589
  <span class="summary_signature">
693
590
 
694
- <a href="#edit_last-instance_method" title="#edit_last (instance method)">#<strong>edit_last</strong>(section: &#39;All&#39;, options: {}) &#x21d2; Object </a>
591
+ <a href="#filter_items-instance_method" title="#filter_items (instance method)">#<strong>filter_items</strong>(items = Items.new, opt: {}) &#x21d2; Object </a>
695
592
 
696
593
 
697
594
 
@@ -705,7 +602,7 @@
705
602
 
706
603
 
707
604
 
708
- <span class="summary_desc"><div class='inline'><p>Edit the last entry.</p>
605
+ <span class="summary_desc"><div class='inline'><p>Filter items based on search criteria.</p>
709
606
  </div></span>
710
607
 
711
608
  </li>
@@ -714,7 +611,7 @@
714
611
  <li class="public ">
715
612
  <span class="summary_signature">
716
613
 
717
- <a href="#filter_items-instance_method" title="#filter_items (instance method)">#<strong>filter_items</strong>(items = [], opt: {}) &#x21d2; Object </a>
614
+ <a href="#fork_editor-instance_method" title="#fork_editor (instance method)">#<strong>fork_editor</strong>(input = &#39;&#39;, message: :default) &#x21d2; Object </a>
718
615
 
719
616
 
720
617
 
@@ -728,7 +625,7 @@
728
625
 
729
626
 
730
627
 
731
- <span class="summary_desc"><div class='inline'><p>Filter items based on search criteria.</p>
628
+ <span class="summary_desc"><div class='inline'><p>Create a process for an editor and wait for the file handle to return.</p>
732
629
  </div></span>
733
630
 
734
631
  </li>
@@ -737,7 +634,7 @@
737
634
  <li class="public ">
738
635
  <span class="summary_signature">
739
636
 
740
- <a href="#fork_editor-instance_method" title="#fork_editor (instance method)">#<strong>fork_editor</strong>(input = &#39;&#39;) &#x21d2; Object </a>
637
+ <a href="#format_input-instance_method" title="#format_input (instance method)">#<strong>format_input</strong>(input) &#x21d2; Array </a>
741
638
 
742
639
 
743
640
 
@@ -751,7 +648,7 @@
751
648
 
752
649
 
753
650
 
754
- <span class="summary_desc"><div class='inline'><p>Create a process for an editor and wait for the file handle to return.</p>
651
+ <span class="summary_desc"><div class='inline'><p>Takes a multi-line string and formats it as an entry.</p>
755
652
  </div></span>
756
653
 
757
654
  </li>
@@ -760,7 +657,7 @@
760
657
  <li class="public ">
761
658
  <span class="summary_signature">
762
659
 
763
- <a href="#format_input-instance_method" title="#format_input (instance method)">#<strong>format_input</strong>(input) &#x21d2; Array </a>
660
+ <a href="#format_time-instance_method" title="#format_time (instance method)">#<strong>format_time</strong>(seconds, human: false) &#x21d2; Object </a>
764
661
 
765
662
 
766
663
 
@@ -774,7 +671,7 @@
774
671
 
775
672
 
776
673
 
777
- <span class="summary_desc"><div class='inline'><p>Takes a multi-line string and formats it as an entry.</p>
674
+ <span class="summary_desc"><div class='inline'><p>Format human readable time from seconds.</p>
778
675
  </div></span>
779
676
 
780
677
  </li>
@@ -783,7 +680,7 @@
783
680
  <li class="public ">
784
681
  <span class="summary_signature">
785
682
 
786
- <a href="#format_time-instance_method" title="#format_time (instance method)">#<strong>format_time</strong>(seconds, human: false) &#x21d2; Object </a>
683
+ <a href="#fuzzy_filter_items-instance_method" title="#fuzzy_filter_items (instance method)">#<strong>fuzzy_filter_items</strong>(items, opt: {}) &#x21d2; Object </a>
787
684
 
788
685
 
789
686
 
@@ -797,8 +694,7 @@
797
694
 
798
695
 
799
696
 
800
- <span class="summary_desc"><div class='inline'><p>Format human readable time from seconds.</p>
801
- </div></span>
697
+ <span class="summary_desc"><div class='inline'></div></span>
802
698
 
803
699
  </li>
804
700
 
@@ -1124,29 +1020,6 @@
1124
1020
  <span class="summary_desc"><div class='inline'><p>Logger.</p>
1125
1021
  </div></span>
1126
1022
 
1127
- </li>
1128
-
1129
-
1130
- <li class="public ">
1131
- <span class="summary_signature">
1132
-
1133
- <a href="#move_item-instance_method" title="#move_item (instance method)">#<strong>move_item</strong>(item, section, label: true) &#x21d2; Item </a>
1134
-
1135
-
1136
-
1137
- </span>
1138
-
1139
-
1140
-
1141
-
1142
-
1143
-
1144
-
1145
-
1146
-
1147
- <span class="summary_desc"><div class='inline'><p>Move item from current section to destination section.</p>
1148
- </div></span>
1149
-
1150
1023
  </li>
1151
1024
 
1152
1025
 
@@ -1213,7 +1086,8 @@
1213
1086
 
1214
1087
 
1215
1088
 
1216
- <span class="summary_desc"><div class='inline'></div></span>
1089
+ <span class="summary_desc"><div class='inline'><p>Duplicate an item and add it as a new item.</p>
1090
+ </div></span>
1217
1091
 
1218
1092
  </li>
1219
1093
 
@@ -1258,7 +1132,8 @@
1258
1132
 
1259
1133
 
1260
1134
 
1261
- <span class="summary_desc"><div class='inline'></div></span>
1135
+ <span class="summary_desc"><div class='inline'><p>Reset start date to current time, optionally remove done tag (resume).</p>
1136
+ </div></span>
1262
1137
 
1263
1138
  </li>
1264
1139
 
@@ -1374,29 +1249,6 @@
1374
1249
 
1375
1250
  <span class="summary_desc"><div class='inline'></div></span>
1376
1251
 
1377
- </li>
1378
-
1379
-
1380
- <li class="public ">
1381
- <span class="summary_signature">
1382
-
1383
- <a href="#tag_item-instance_method" title="#tag_item (instance method)">#<strong>tag_item</strong>(item, tags, remove: false, date: false, single: false) &#x21d2; Item </a>
1384
-
1385
-
1386
-
1387
- </span>
1388
-
1389
-
1390
-
1391
-
1392
-
1393
-
1394
-
1395
-
1396
-
1397
- <span class="summary_desc"><div class='inline'><p>Tag an item from the index.</p>
1398
- </div></span>
1399
-
1400
1252
  </li>
1401
1253
 
1402
1254
 
@@ -1466,29 +1318,6 @@
1466
1318
  <span class="summary_desc"><div class='inline'><p>Show all entries from the current day.</p>
1467
1319
  </div></span>
1468
1320
 
1469
- </li>
1470
-
1471
-
1472
- <li class="public ">
1473
- <span class="summary_signature">
1474
-
1475
- <a href="#update_item-instance_method" title="#update_item (instance method)">#<strong>update_item</strong>(old_item, new_item) &#x21d2; Object </a>
1476
-
1477
-
1478
-
1479
- </span>
1480
-
1481
-
1482
-
1483
-
1484
-
1485
-
1486
-
1487
-
1488
-
1489
- <span class="summary_desc"><div class='inline'><p>Update an item in the index with a modified item.</p>
1490
- </div></span>
1491
-
1492
1321
  </li>
1493
1322
 
1494
1323
 
@@ -1561,32 +1390,20 @@
1561
1390
  </li>
1562
1391
 
1563
1392
 
1564
- <li class="public ">
1565
- <span class="summary_signature">
1566
-
1567
- <a href="#yn-instance_method" title="#yn (instance method)">#<strong>yn</strong>(question, default_response: false) &#x21d2; Bool </a>
1568
-
1569
-
1570
-
1571
- </span>
1572
-
1393
+ </ul>
1573
1394
 
1395
+
1396
+
1574
1397
 
1575
1398
 
1576
1399
 
1577
1400
 
1578
1401
 
1579
-
1580
1402
 
1581
- <span class="summary_desc"><div class='inline'><p>Ask a yes or no question in the terminal.</p>
1582
- </div></span>
1583
1403
 
1584
- </li>
1585
-
1586
-
1587
- </ul>
1588
1404
 
1589
-
1405
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="Color.html" title="Doing::Color (module)">Color</a></span></h3>
1406
+ <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>
1590
1407
  <div id="constructor_details" class="method_details_list">
1591
1408
  <h2>Constructor Details</h2>
1592
1409
 
@@ -1844,12 +1661,12 @@
1844
1661
  <span class='name'>items</span>
1845
1662
 
1846
1663
 
1847
- <span class='type'></span>
1664
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
1848
1665
 
1849
1666
 
1850
1667
 
1851
1668
  &mdash;
1852
- <div class='inline'><p>The items to affect</p>
1669
+ <div class='inline'><p>Array of Items to affect</p>
1853
1670
  </div>
1854
1671
 
1855
1672
  </li>
@@ -1859,54 +1676,160 @@
1859
1676
  <span class='name'>opt</span>
1860
1677
 
1861
1678
 
1862
- <span class='type'></span>
1679
+ <span class='type'>(<tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>)</span>
1863
1680
 
1864
1681
 
1865
1682
  <em class="default">(defaults to: <tt>{}</tt>)</em>
1866
1683
 
1867
1684
 
1868
1685
  &mdash;
1869
- <div class='inline'><p>The actions and options. Can
1870
- include :editor, :delete, :tag,
1871
- :flag, :finish, :cancel, :archive,
1872
- :output, :save_to, :again, and
1873
- :resume</p>
1686
+ <div class='inline'><p>Options and actions to perform</p>
1874
1687
  </div>
1875
1688
 
1876
1689
  </li>
1877
1690
 
1878
1691
  </ul>
1879
1692
 
1880
-
1881
- </div>
1882
- </div>
1883
-
1884
- <div class="method_details ">
1885
- <h3 class="signature " id="add_item-instance_method">
1886
-
1887
- #<strong>add_item</strong>(title, section = nil, opt = {}) &#x21d2; <tt>Object</tt>
1888
-
1889
-
1890
-
1891
-
1892
-
1893
- </h3><div class="docstring">
1894
- <div class="discussion">
1895
- <p>Adds an entry</p>
1896
-
1897
-
1898
- </div>
1899
- </div>
1900
- <div class="tags">
1901
- <p class="tag_title">Parameters:</p>
1902
- <ul class="param">
1903
1693
 
1904
- <li>
1905
-
1906
- <span class='name'>title</span>
1694
+
1695
+
1696
+
1697
+
1698
+ <p class="tag_title">Options Hash (<tt>opt</tt>):</p>
1699
+ <ul class="option">
1907
1700
 
1701
+ <li>
1702
+ <span class="name">:editor</span>
1703
+ <span class="type">(<tt>Boolean</tt>)</span>
1704
+ <span class="default">
1705
+
1706
+ </span>
1707
+
1708
+ </li>
1908
1709
 
1909
- <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
1710
+ <li>
1711
+ <span class="name">:delete</span>
1712
+ <span class="type">(<tt>Boolean</tt>)</span>
1713
+ <span class="default">
1714
+
1715
+ </span>
1716
+
1717
+ </li>
1718
+
1719
+ <li>
1720
+ <span class="name">:tag</span>
1721
+ <span class="type">(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
1722
+ <span class="default">
1723
+
1724
+ </span>
1725
+
1726
+ </li>
1727
+
1728
+ <li>
1729
+ <span class="name">:flag</span>
1730
+ <span class="type">(<tt>Boolean</tt>)</span>
1731
+ <span class="default">
1732
+
1733
+ </span>
1734
+
1735
+ </li>
1736
+
1737
+ <li>
1738
+ <span class="name">:finish</span>
1739
+ <span class="type">(<tt>Boolean</tt>)</span>
1740
+ <span class="default">
1741
+
1742
+ </span>
1743
+
1744
+ </li>
1745
+
1746
+ <li>
1747
+ <span class="name">:cancel</span>
1748
+ <span class="type">(<tt>Boolean</tt>)</span>
1749
+ <span class="default">
1750
+
1751
+ </span>
1752
+
1753
+ </li>
1754
+
1755
+ <li>
1756
+ <span class="name">:archive</span>
1757
+ <span class="type">(<tt>Boolean</tt>)</span>
1758
+ <span class="default">
1759
+
1760
+ </span>
1761
+
1762
+ </li>
1763
+
1764
+ <li>
1765
+ <span class="name">:output</span>
1766
+ <span class="type">(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
1767
+ <span class="default">
1768
+
1769
+ </span>
1770
+
1771
+ </li>
1772
+
1773
+ <li>
1774
+ <span class="name">:save_to</span>
1775
+ <span class="type">(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
1776
+ <span class="default">
1777
+
1778
+ </span>
1779
+
1780
+ </li>
1781
+
1782
+ <li>
1783
+ <span class="name">:again</span>
1784
+ <span class="type">(<tt>Boolean</tt>)</span>
1785
+ <span class="default">
1786
+
1787
+ </span>
1788
+
1789
+ </li>
1790
+
1791
+ <li>
1792
+ <span class="name">:resume</span>
1793
+ <span class="type">(<tt>Boolean</tt>)</span>
1794
+ <span class="default">
1795
+
1796
+ </span>
1797
+
1798
+ </li>
1799
+
1800
+ </ul>
1801
+
1802
+
1803
+
1804
+ </div>
1805
+ </div>
1806
+
1807
+ <div class="method_details ">
1808
+ <h3 class="signature " id="add_item-instance_method">
1809
+
1810
+ #<strong>add_item</strong>(title, section = nil, opt = {}) &#x21d2; <tt>Object</tt>
1811
+
1812
+
1813
+
1814
+
1815
+
1816
+ </h3><div class="docstring">
1817
+ <div class="discussion">
1818
+ <p>Adds an entry</p>
1819
+
1820
+
1821
+ </div>
1822
+ </div>
1823
+ <div class="tags">
1824
+ <p class="tag_title">Parameters:</p>
1825
+ <ul class="param">
1826
+
1827
+ <li>
1828
+
1829
+ <span class='name'>title</span>
1830
+
1831
+
1832
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
1910
1833
 
1911
1834
 
1912
1835
 
@@ -1945,53 +1868,73 @@ include :editor, :delete, :tag,
1945
1868
 
1946
1869
 
1947
1870
  &mdash;
1948
- <div class='inline'><p>Additional Options: :date, :note, :back, :timed</p>
1871
+ <div class='inline'><p>Additional Options</p>
1949
1872
  </div>
1950
1873
 
1951
1874
  </li>
1952
1875
 
1953
1876
  </ul>
1954
1877
 
1955
-
1956
- </div>
1957
- </div>
1958
-
1959
- <div class="method_details ">
1960
- <h3 class="signature " id="add_section-instance_method">
1961
-
1962
- #<strong>add_section</strong>(title) &#x21d2; <tt>Object</tt>
1963
-
1964
-
1965
1878
 
1966
-
1967
-
1968
- </h3><div class="docstring">
1969
- <div class="discussion">
1970
- <p>Adds a section.</p>
1971
-
1972
-
1973
- </div>
1974
- </div>
1975
- <div class="tags">
1976
- <p class="tag_title">Parameters:</p>
1977
- <ul class="param">
1978
-
1979
- <li>
1980
-
1981
- <span class='name'>title</span>
1982
-
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+ <p class="tag_title">Options Hash (<tt>opt</tt>):</p>
1886
+ <ul class="option">
1983
1887
 
1984
- <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
1888
+ <li>
1889
+ <span class="name">:date</span>
1890
+ <span class="type">(<tt>Date</tt>)</span>
1891
+ <span class="default">
1892
+
1893
+ </span>
1894
+
1895
+ &mdash; <div class='inline'><p>item start date</p>
1896
+ </div>
1897
+
1898
+ </li>
1985
1899
 
1900
+ <li>
1901
+ <span class="name">:note</span>
1902
+ <span class="type">(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
1903
+ <span class="default">
1904
+
1905
+ </span>
1906
+
1907
+ &mdash; <div class='inline'><p>item note (will be converted if value is String)</p>
1908
+ </div>
1909
+
1910
+ </li>
1986
1911
 
1912
+ <li>
1913
+ <span class="name">:back</span>
1914
+ <span class="type">(<tt>Date</tt>)</span>
1915
+ <span class="default">
1916
+
1917
+ </span>
1918
+
1919
+ &mdash; <div class='inline'><p>backdate</p>
1920
+ </div>
1921
+
1922
+ </li>
1987
1923
 
1988
- &mdash;
1989
- <div class='inline'><p>The new section title</p>
1924
+ <li>
1925
+ <span class="name">:timed</span>
1926
+ <span class="type">(<tt>Boolean</tt>)</span>
1927
+ <span class="default">
1928
+
1929
+ </span>
1930
+
1931
+ &mdash; <div class='inline'><p>new item is timed entry, marks previous entry as @done</p>
1990
1932
  </div>
1933
+
1934
+ </li>
1991
1935
 
1992
- </li>
1936
+ </ul>
1993
1937
 
1994
- </ul>
1995
1938
 
1996
1939
 
1997
1940
  </div>
@@ -2111,57 +2054,6 @@ untagged keyword</p>
2111
2054
 
2112
2055
 
2113
2056
  </div>
2114
- </div>
2115
-
2116
- <div class="method_details ">
2117
- <h3 class="signature " id="choose_from-instance_method">
2118
-
2119
- #<strong>choose_from</strong>(options, prompt: &#39;Make a selection: &#39;, multiple: false, sorted: true, fzf_args: []) &#x21d2; <tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>
2120
-
2121
-
2122
-
2123
-
2124
-
2125
- </h3><div class="docstring">
2126
- <div class="discussion">
2127
- <p>Generate a menu of options and allow user selection</p>
2128
-
2129
-
2130
- </div>
2131
- </div>
2132
- <div class="tags">
2133
-
2134
- <p class="tag_title">Returns:</p>
2135
- <ul class="return">
2136
-
2137
- <li>
2138
-
2139
-
2140
- <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
2141
-
2142
-
2143
-
2144
- &mdash;
2145
- <div class='inline'><p>The selected option</p>
2146
- </div>
2147
-
2148
- </li>
2149
-
2150
- </ul>
2151
-
2152
- </div>
2153
- </div>
2154
-
2155
- <div class="method_details ">
2156
- <h3 class="signature " id="choose_from_items-instance_method">
2157
-
2158
- #<strong>choose_from_items</strong>(items, opt = {}, include_section: false) &#x21d2; <tt>Object</tt>
2159
-
2160
-
2161
-
2162
-
2163
-
2164
- </h3>
2165
2057
  </div>
2166
2058
 
2167
2059
  <div class="method_details ">
@@ -2239,140 +2131,6 @@ untagged keyword</p>
2239
2131
 
2240
2132
  </ul>
2241
2133
 
2242
- </div>
2243
- </div>
2244
-
2245
- <div class="method_details ">
2246
- <h3 class="signature " id="chronify-instance_method">
2247
-
2248
- #<strong>chronify</strong>(input, future: false, guess: :begin) &#x21d2; <tt>DateTime</tt>
2249
-
2250
-
2251
-
2252
-
2253
-
2254
- </h3><div class="docstring">
2255
- <div class="discussion">
2256
- <p>Converts input string into a Time object when input takes on the
2257
- following formats:
2258
- - interval format e.g. &#39;1d2h30m&#39;, &#39;45m&#39; etc.
2259
- - a semantic phrase e.g. &#39;yesterday 5:30pm&#39;
2260
- - a strftime e.g. &#39;2016-03-15 15:32:04 PDT&#39;</p>
2261
-
2262
-
2263
- </div>
2264
- </div>
2265
- <div class="tags">
2266
- <p class="tag_title">Parameters:</p>
2267
- <ul class="param">
2268
-
2269
- <li>
2270
-
2271
- <span class='name'>input</span>
2272
-
2273
-
2274
- <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
2275
-
2276
-
2277
-
2278
- &mdash;
2279
- <div class='inline'><p>String to chronify</p>
2280
- </div>
2281
-
2282
- </li>
2283
-
2284
- </ul>
2285
-
2286
- <p class="tag_title">Returns:</p>
2287
- <ul class="return">
2288
-
2289
- <li>
2290
-
2291
-
2292
- <span class='type'>(<tt>DateTime</tt>)</span>
2293
-
2294
-
2295
-
2296
- &mdash;
2297
- <div class='inline'><p>result</p>
2298
- </div>
2299
-
2300
- </li>
2301
-
2302
- </ul>
2303
- <p class="tag_title">Raises:</p>
2304
- <ul class="raise">
2305
-
2306
- <li>
2307
-
2308
-
2309
- <span class='type'>(<tt>InvalidTimeExpression</tt>)</span>
2310
-
2311
-
2312
-
2313
- </li>
2314
-
2315
- </ul>
2316
-
2317
- </div>
2318
- </div>
2319
-
2320
- <div class="method_details ">
2321
- <h3 class="signature " id="chronify_qty-instance_method">
2322
-
2323
- #<strong>chronify_qty</strong>(qty) &#x21d2; <tt>Integer</tt>
2324
-
2325
-
2326
-
2327
-
2328
-
2329
- </h3><div class="docstring">
2330
- <div class="discussion">
2331
- <p>Converts simple strings into seconds that can be added to a Time
2332
- object</p>
2333
-
2334
-
2335
- </div>
2336
- </div>
2337
- <div class="tags">
2338
- <p class="tag_title">Parameters:</p>
2339
- <ul class="param">
2340
-
2341
- <li>
2342
-
2343
- <span class='name'>qty</span>
2344
-
2345
-
2346
- <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
2347
-
2348
-
2349
-
2350
- &mdash;
2351
- <div class='inline'><p>HH:MM or XX[dhm]<a href="1d2h30m,%2045m,%0A1.5d,%201h20m,%20etc.">[XXhm][XXm]</a></p>
2352
- </div>
2353
-
2354
- </li>
2355
-
2356
- </ul>
2357
-
2358
- <p class="tag_title">Returns:</p>
2359
- <ul class="return">
2360
-
2361
- <li>
2362
-
2363
-
2364
- <span class='type'>(<tt>Integer</tt>)</span>
2365
-
2366
-
2367
-
2368
- &mdash;
2369
- <div class='inline'><p>seconds</p>
2370
- </div>
2371
-
2372
- </li>
2373
-
2374
- </ul>
2375
-
2376
2134
  </div>
2377
2135
  </div>
2378
2136
 
@@ -2401,7 +2159,7 @@ untagged keyword</p>
2401
2159
  <div class="method_details ">
2402
2160
  <h3 class="signature " id="dedup-instance_method">
2403
2161
 
2404
- #<strong>dedup</strong>(items, no_overlap = false) &#x21d2; <tt>Object</tt>
2162
+ #<strong>dedup</strong>(items, no_overlap: false) &#x21d2; <tt>Object</tt>
2405
2163
 
2406
2164
 
2407
2165
 
@@ -2453,47 +2211,6 @@ untagged keyword</p>
2453
2211
  </ul>
2454
2212
 
2455
2213
 
2456
- </div>
2457
- </div>
2458
-
2459
- <div class="method_details ">
2460
- <h3 class="signature " id="delete_item-instance_method">
2461
-
2462
- #<strong>delete_item</strong>(item, single: false) &#x21d2; <tt>Object</tt>
2463
-
2464
-
2465
-
2466
-
2467
-
2468
- </h3><div class="docstring">
2469
- <div class="discussion">
2470
- <p>Delete an item from the index</p>
2471
-
2472
-
2473
- </div>
2474
- </div>
2475
- <div class="tags">
2476
- <p class="tag_title">Parameters:</p>
2477
- <ul class="param">
2478
-
2479
- <li>
2480
-
2481
- <span class='name'>item</span>
2482
-
2483
-
2484
- <span class='type'></span>
2485
-
2486
-
2487
-
2488
- &mdash;
2489
- <div class='inline'><p>The item</p>
2490
- </div>
2491
-
2492
- </li>
2493
-
2494
- </ul>
2495
-
2496
-
2497
2214
  </div>
2498
2215
  </div>
2499
2216
 
@@ -2543,7 +2260,7 @@ untagged keyword</p>
2543
2260
  <div class="method_details ">
2544
2261
  <h3 class="signature " id="filter_items-instance_method">
2545
2262
 
2546
- #<strong>filter_items</strong>(items = [], opt: {}) &#x21d2; <tt>Object</tt>
2263
+ #<strong>filter_items</strong>(items = Items.new, opt: {}) &#x21d2; <tt>Object</tt>
2547
2264
 
2548
2265
 
2549
2266
 
@@ -2568,7 +2285,7 @@ untagged keyword</p>
2568
2285
  <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
2569
2286
 
2570
2287
 
2571
- <em class="default">(defaults to: <tt>[]</tt>)</em>
2288
+ <em class="default">(defaults to: <tt>Items.new</tt>)</em>
2572
2289
 
2573
2290
 
2574
2291
  &mdash;
@@ -2755,7 +2472,7 @@ untagged keyword</p>
2755
2472
  <div class="method_details ">
2756
2473
  <h3 class="signature " id="fork_editor-instance_method">
2757
2474
 
2758
- #<strong>fork_editor</strong>(input = &#39;&#39;) &#x21d2; <tt>Object</tt>
2475
+ #<strong>fork_editor</strong>(input = &#39;&#39;, message: :default) &#x21d2; <tt>Object</tt>
2759
2476
 
2760
2477
 
2761
2478
 
@@ -2918,6 +2635,18 @@ untagged keyword</p>
2918
2635
 
2919
2636
 
2920
2637
  </div>
2638
+ </div>
2639
+
2640
+ <div class="method_details ">
2641
+ <h3 class="signature " id="fuzzy_filter_items-instance_method">
2642
+
2643
+ #<strong>fuzzy_filter_items</strong>(items, opt: {}) &#x21d2; <tt>Object</tt>
2644
+
2645
+
2646
+
2647
+
2648
+
2649
+ </h3>
2921
2650
  </div>
2922
2651
 
2923
2652
  <div class="method_details ">
@@ -3288,6 +3017,8 @@ interval is 0</p>
3288
3017
  <div class="discussion">
3289
3018
  <p>Display an interactive menu of entries</p>
3290
3019
 
3020
+ <p>Options hash is shared with #filter_items and #act_on</p>
3021
+
3291
3022
 
3292
3023
  </div>
3293
3024
  </div>
@@ -3646,99 +3377,25 @@ All</p>
3646
3377
 
3647
3378
  #<strong>logger</strong> &#x21d2; <tt>Object</tt>
3648
3379
 
3649
-
3650
-
3651
-
3652
-
3653
- </h3><div class="docstring">
3654
- <div class="discussion">
3655
- <p>Logger</p>
3656
-
3657
- <p>Responds to :debug, :info, :warn, and :error</p>
3658
-
3659
- <p>Each method takes a topic, and a message or block</p>
3660
-
3661
- <p>Example: debug(&#39;Hooks&#39;, &#39;Hook 1 triggered&#39;)</p>
3662
-
3663
-
3664
- </div>
3665
- </div>
3666
- <div class="tags">
3667
-
3668
-
3669
- </div>
3670
- </div>
3671
-
3672
- <div class="method_details ">
3673
- <h3 class="signature " id="move_item-instance_method">
3674
-
3675
- #<strong>move_item</strong>(item, section, label: true) &#x21d2; <tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>
3676
-
3677
-
3678
-
3679
-
3680
-
3681
- </h3><div class="docstring">
3682
- <div class="discussion">
3683
- <p>Move item from current section to
3684
- destination section</p>
3685
-
3686
-
3687
- </div>
3688
- </div>
3689
- <div class="tags">
3690
- <p class="tag_title">Parameters:</p>
3691
- <ul class="param">
3692
-
3693
- <li>
3694
-
3695
- <span class='name'>item</span>
3696
-
3697
-
3698
- <span class='type'>(<tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>)</span>
3699
-
3700
-
3701
-
3702
- &mdash;
3703
- <div class='inline'><p>The item to move</p>
3704
- </div>
3705
-
3706
- </li>
3707
-
3708
- <li>
3709
-
3710
- <span class='name'>section</span>
3711
-
3712
-
3713
- <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
3714
-
3715
-
3716
-
3717
- &mdash;
3718
- <div class='inline'><p>The destination section</p>
3719
- </div>
3720
-
3721
- </li>
3380
+
3722
3381
 
3723
- </ul>
3724
3382
 
3725
- <p class="tag_title">Returns:</p>
3726
- <ul class="return">
3727
3383
 
3728
- <li>
3729
-
3730
-
3731
- <span class='type'>(<tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>)</span>
3732
-
3733
-
3734
-
3735
- &mdash;
3736
- <div class='inline'><p>Updated item</p>
3384
+ </h3><div class="docstring">
3385
+ <div class="discussion">
3386
+ <p>Logger</p>
3387
+
3388
+ <p>Responds to :debug, :info, :warn, and :error</p>
3389
+
3390
+ <p>Each method takes a topic, and a message or block</p>
3391
+
3392
+ <p>Example: debug(&#39;Hooks&#39;, &#39;Hook 1 triggered&#39;)</p>
3393
+
3394
+
3395
+ </div>
3737
3396
  </div>
3738
-
3739
- </li>
3397
+ <div class="tags">
3740
3398
 
3741
- </ul>
3742
3399
 
3743
3400
  </div>
3744
3401
  </div>
@@ -3911,7 +3568,129 @@ All</p>
3911
3568
 
3912
3569
 
3913
3570
 
3914
- </h3>
3571
+ </h3><div class="docstring">
3572
+ <div class="discussion">
3573
+ <p>Duplicate an item and add it as a new item</p>
3574
+
3575
+
3576
+ </div>
3577
+ </div>
3578
+ <div class="tags">
3579
+ <p class="tag_title">Parameters:</p>
3580
+ <ul class="param">
3581
+
3582
+ <li>
3583
+
3584
+ <span class='name'>item</span>
3585
+
3586
+
3587
+ <span class='type'>(<tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>)</span>
3588
+
3589
+
3590
+
3591
+ &mdash;
3592
+ <div class='inline'><p>the item to duplicate</p>
3593
+ </div>
3594
+
3595
+ </li>
3596
+
3597
+ <li>
3598
+
3599
+ <span class='name'>opt</span>
3600
+
3601
+
3602
+ <span class='type'>(<tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>)</span>
3603
+
3604
+
3605
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
3606
+
3607
+
3608
+ &mdash;
3609
+ <div class='inline'><p>additional options</p>
3610
+ </div>
3611
+
3612
+ </li>
3613
+
3614
+ </ul>
3615
+
3616
+
3617
+
3618
+
3619
+
3620
+
3621
+ <p class="tag_title">Options Hash (<tt>opt</tt>):</p>
3622
+ <ul class="option">
3623
+
3624
+ <li>
3625
+ <span class="name">:editor</span>
3626
+ <span class="type">(<tt>Boolean</tt>)</span>
3627
+ <span class="default">
3628
+
3629
+ </span>
3630
+
3631
+ &mdash; <div class='inline'><p>open new item in editor</p>
3632
+ </div>
3633
+
3634
+ </li>
3635
+
3636
+ <li>
3637
+ <span class="name">:date</span>
3638
+ <span class="type">(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
3639
+ <span class="default">
3640
+
3641
+ </span>
3642
+
3643
+ &mdash; <div class='inline'><p>set start date</p>
3644
+ </div>
3645
+
3646
+ </li>
3647
+
3648
+ <li>
3649
+ <span class="name">:in</span>
3650
+ <span class="type">(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
3651
+ <span class="default">
3652
+
3653
+ </span>
3654
+
3655
+ &mdash; <div class='inline'><p>add new item to section :in</p>
3656
+ </div>
3657
+
3658
+ </li>
3659
+
3660
+ <li>
3661
+ <span class="name">:note</span>
3662
+ <span class="type">(<tt><span class='object_link'><a href="Note.html" title="Doing::Note (class)">Note</a></span></tt>)</span>
3663
+ <span class="default">
3664
+
3665
+ </span>
3666
+
3667
+ &mdash; <div class='inline'><p>add note to new item</p>
3668
+ </div>
3669
+
3670
+ </li>
3671
+
3672
+ </ul>
3673
+
3674
+
3675
+ <p class="tag_title">Returns:</p>
3676
+ <ul class="return">
3677
+
3678
+ <li>
3679
+
3680
+
3681
+ <span class='type'></span>
3682
+
3683
+
3684
+
3685
+
3686
+ <div class='inline'><p>nothing</p>
3687
+ </div>
3688
+
3689
+ </li>
3690
+
3691
+ </ul>
3692
+
3693
+ </div>
3915
3694
  </div>
3916
3695
 
3917
3696
  <div class="method_details ">
@@ -3966,7 +3745,54 @@ All</p>
3966
3745
 
3967
3746
 
3968
3747
 
3969
- </h3>
3748
+ </h3><div class="docstring">
3749
+ <div class="discussion">
3750
+ <p>Reset start date to current time, optionally remove
3751
+ done tag (resume)</p>
3752
+
3753
+
3754
+ </div>
3755
+ </div>
3756
+ <div class="tags">
3757
+ <p class="tag_title">Parameters:</p>
3758
+ <ul class="param">
3759
+
3760
+ <li>
3761
+
3762
+ <span class='name'>item</span>
3763
+
3764
+
3765
+ <span class='type'>(<tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>)</span>
3766
+
3767
+
3768
+
3769
+ &mdash;
3770
+ <div class='inline'><p>the item to reset/resume</p>
3771
+ </div>
3772
+
3773
+ </li>
3774
+
3775
+ <li>
3776
+
3777
+ <span class='name'>resume</span>
3778
+
3779
+
3780
+ <span class='type'>(<tt>Boolean</tt>)</span>
3781
+
3782
+
3783
+ <em class="default">(defaults to: <tt>false</tt>)</em>
3784
+
3785
+
3786
+ &mdash;
3787
+ <div class='inline'><p>removing @done tag if true</p>
3788
+ </div>
3789
+
3790
+ </li>
3791
+
3792
+ </ul>
3793
+
3794
+
3795
+ </div>
3970
3796
  </div>
3971
3797
 
3972
3798
  <div class="method_details ">
@@ -4074,81 +3900,7 @@ All</p>
4074
3900
  <div class="method_details ">
4075
3901
  <h3 class="signature " id="stop_start-instance_method">
4076
3902
 
4077
- #<strong>stop_start</strong>(target_tag, opt = {}) &#x21d2; <tt>Object</tt>
4078
-
4079
-
4080
-
4081
-
4082
-
4083
- </h3><div class="docstring">
4084
- <div class="discussion">
4085
- <p>Accepts one tag and the raw text of a new item if the
4086
- passed tag is on any item, it&#39;s replaced with @done.
4087
- if new_item is not nil, it&#39;s tagged with the passed
4088
- tag and inserted. This is for use where only one
4089
- instance of a given tag should exist (@meanwhile)</p>
4090
-
4091
-
4092
- </div>
4093
- </div>
4094
- <div class="tags">
4095
- <p class="tag_title">Parameters:</p>
4096
- <ul class="param">
4097
-
4098
- <li>
4099
-
4100
- <span class='name'>target_tag</span>
4101
-
4102
-
4103
- <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
4104
-
4105
-
4106
-
4107
- &mdash;
4108
- <div class='inline'><p>Tag to replace</p>
4109
- </div>
4110
-
4111
- </li>
4112
-
4113
- <li>
4114
-
4115
- <span class='name'>opt</span>
4116
-
4117
-
4118
- <span class='type'>(<tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>)</span>
4119
-
4120
-
4121
- <em class="default">(defaults to: <tt>{}</tt>)</em>
4122
-
4123
-
4124
- &mdash;
4125
- <div class='inline'><p>Additional Options</p>
4126
- </div>
4127
-
4128
- </li>
4129
-
4130
- </ul>
4131
-
4132
-
4133
- </div>
4134
- </div>
4135
-
4136
- <div class="method_details ">
4137
- <h3 class="signature " id="tag_groups-instance_method">
4138
-
4139
- #<strong>tag_groups</strong>(items, opt: {}) &#x21d2; <tt>Object</tt>
4140
-
4141
-
4142
-
4143
-
4144
-
4145
- </h3>
4146
- </div>
4147
-
4148
- <div class="method_details ">
4149
- <h3 class="signature " id="tag_item-instance_method">
4150
-
4151
- #<strong>tag_item</strong>(item, tags, remove: false, date: false, single: false) &#x21d2; <tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>
3903
+ #<strong>stop_start</strong>(target_tag, opt = {}) &#x21d2; <tt>Object</tt>
4152
3904
 
4153
3905
 
4154
3906
 
@@ -4156,7 +3908,11 @@ instance of a given tag should exist (@meanwhile)</p>
4156
3908
 
4157
3909
  </h3><div class="docstring">
4158
3910
  <div class="discussion">
4159
- <p>Tag an item from the index</p>
3911
+ <p>Accepts one tag and the raw text of a new item if the
3912
+ passed tag is on any item, it&#39;s replaced with @done.
3913
+ if new_item is not nil, it&#39;s tagged with the passed
3914
+ tag and inserted. This is for use where only one
3915
+ instance of a given tag should exist (@meanwhile)</p>
4160
3916
 
4161
3917
 
4162
3918
  </div>
@@ -4167,22 +3923,7 @@ instance of a given tag should exist (@meanwhile)</p>
4167
3923
 
4168
3924
  <li>
4169
3925
 
4170
- <span class='name'>item</span>
4171
-
4172
-
4173
- <span class='type'>(<tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>)</span>
4174
-
4175
-
4176
-
4177
- &mdash;
4178
- <div class='inline'><p>The item to tag</p>
4179
- </div>
4180
-
4181
- </li>
4182
-
4183
- <li>
4184
-
4185
- <span class='name'>tags</span>
3926
+ <span class='name'>target_tag</span>
4186
3927
 
4187
3928
 
4188
3929
  <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
@@ -4190,83 +3931,115 @@ instance of a given tag should exist (@meanwhile)</p>
4190
3931
 
4191
3932
 
4192
3933
  &mdash;
4193
- <div class='inline'><p>The tag to apply</p>
4194
- </div>
4195
-
4196
- </li>
4197
-
4198
- <li>
4199
-
4200
- <span class='name'>remove</span>
4201
-
4202
-
4203
- <span class='type'>(<tt>Boolean</tt>)</span>
4204
-
4205
-
4206
- <em class="default">(defaults to: <tt>false</tt>)</em>
4207
-
4208
-
4209
- &mdash;
4210
- <div class='inline'><p>remove tags?</p>
4211
- </div>
4212
-
4213
- </li>
4214
-
4215
- <li>
4216
-
4217
- <span class='name'>date</span>
4218
-
4219
-
4220
- <span class='type'>(<tt>Boolean</tt>)</span>
4221
-
4222
-
4223
- <em class="default">(defaults to: <tt>false</tt>)</em>
4224
-
4225
-
4226
- &mdash;
4227
- <div class='inline'><p>Include timestamp?</p>
3934
+ <div class='inline'><p>Tag to replace</p>
4228
3935
  </div>
4229
3936
 
4230
3937
  </li>
4231
3938
 
4232
3939
  <li>
4233
3940
 
4234
- <span class='name'>single</span>
3941
+ <span class='name'>opt</span>
4235
3942
 
4236
3943
 
4237
- <span class='type'>(<tt>Boolean</tt>)</span>
3944
+ <span class='type'>(<tt><span class='object_link'><a href="../Hash.html" title="Hash (class)">Hash</a></span></tt>)</span>
4238
3945
 
4239
3946
 
4240
- <em class="default">(defaults to: <tt>false</tt>)</em>
3947
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
4241
3948
 
4242
3949
 
4243
3950
  &mdash;
4244
- <div class='inline'><p>Log as a single change?</p>
3951
+ <div class='inline'><p>Additional Options</p>
4245
3952
  </div>
4246
3953
 
4247
3954
  </li>
4248
3955
 
4249
3956
  </ul>
4250
3957
 
4251
- <p class="tag_title">Returns:</p>
4252
- <ul class="return">
4253
3958
 
4254
- <li>
3959
+
3960
+
3961
+
3962
+
3963
+ <p class="tag_title">Options Hash (<tt>opt</tt>):</p>
3964
+ <ul class="option">
4255
3965
 
3966
+ <li>
3967
+ <span class="name">:section</span>
3968
+ <span class="type">(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
3969
+ <span class="default">
3970
+
3971
+ </span>
3972
+
3973
+ &mdash; <div class='inline'><p>target section</p>
3974
+ </div>
3975
+
3976
+ </li>
4256
3977
 
4257
- <span class='type'>(<tt><span class='object_link'><a href="Item.html" title="Doing::Item (class)">Item</a></span></tt>)</span>
3978
+ <li>
3979
+ <span class="name">:archive</span>
3980
+ <span class="type">(<tt>Boolean</tt>)</span>
3981
+ <span class="default">
3982
+
3983
+ </span>
3984
+
3985
+ &mdash; <div class='inline'><p>archive old item</p>
3986
+ </div>
3987
+
3988
+ </li>
4258
3989
 
3990
+ <li>
3991
+ <span class="name">:back</span>
3992
+ <span class="type">(<tt>Date</tt>)</span>
3993
+ <span class="default">
3994
+
3995
+ </span>
3996
+
3997
+ &mdash; <div class='inline'><p>backdate new item</p>
3998
+ </div>
3999
+
4000
+ </li>
4259
4001
 
4002
+ <li>
4003
+ <span class="name">:new_item</span>
4004
+ <span class="type">(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
4005
+ <span class="default">
4006
+
4007
+ </span>
4008
+
4009
+ &mdash; <div class='inline'><p>content to use for new item</p>
4010
+ </div>
4011
+
4012
+ </li>
4260
4013
 
4261
- &mdash;
4262
- <div class='inline'><p>updated item</p>
4014
+ <li>
4015
+ <span class="name">:note</span>
4016
+ <span class="type">(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
4017
+ <span class="default">
4018
+
4019
+ </span>
4020
+
4021
+ &mdash; <div class='inline'><p>note content for new item</p>
4263
4022
  </div>
4023
+
4024
+ </li>
4264
4025
 
4265
- </li>
4026
+ </ul>
4266
4027
 
4267
- </ul>
4028
+
4268
4029
 
4269
4030
  </div>
4031
+ </div>
4032
+
4033
+ <div class="method_details ">
4034
+ <h3 class="signature " id="tag_groups-instance_method">
4035
+
4036
+ #<strong>tag_groups</strong>(items, opt: {}) &#x21d2; <tt>Object</tt>
4037
+
4038
+
4039
+
4040
+
4041
+
4042
+ </h3>
4270
4043
  </div>
4271
4044
 
4272
4045
  <div class="method_details ">
@@ -4489,75 +4262,6 @@ json, or text)</p>
4489
4262
  </ul>
4490
4263
 
4491
4264
 
4492
- </div>
4493
- </div>
4494
-
4495
- <div class="method_details ">
4496
- <h3 class="signature " id="update_item-instance_method">
4497
-
4498
- #<strong>update_item</strong>(old_item, new_item) &#x21d2; <tt>Object</tt>
4499
-
4500
-
4501
-
4502
-
4503
-
4504
- </h3><div class="docstring">
4505
- <div class="discussion">
4506
- <p>Update an item in the index with a modified item</p>
4507
-
4508
-
4509
- </div>
4510
- </div>
4511
- <div class="tags">
4512
- <p class="tag_title">Parameters:</p>
4513
- <ul class="param">
4514
-
4515
- <li>
4516
-
4517
- <span class='name'>old_item</span>
4518
-
4519
-
4520
- <span class='type'></span>
4521
-
4522
-
4523
-
4524
- &mdash;
4525
- <div class='inline'><p>The old item</p>
4526
- </div>
4527
-
4528
- </li>
4529
-
4530
- <li>
4531
-
4532
- <span class='name'>new_item</span>
4533
-
4534
-
4535
- <span class='type'></span>
4536
-
4537
-
4538
-
4539
- &mdash;
4540
- <div class='inline'><p>The new item</p>
4541
- </div>
4542
-
4543
- </li>
4544
-
4545
- </ul>
4546
-
4547
- <p class="tag_title">Raises:</p>
4548
- <ul class="raise">
4549
-
4550
- <li>
4551
-
4552
-
4553
- <span class='type'>(<tt>ItemNotFound</tt>)</span>
4554
-
4555
-
4556
-
4557
- </li>
4558
-
4559
- </ul>
4560
-
4561
4265
  </div>
4562
4266
  </div>
4563
4267
 
@@ -4732,83 +4436,6 @@ json, or text)</p>
4732
4436
  </ul>
4733
4437
 
4734
4438
 
4735
- </div>
4736
- </div>
4737
-
4738
- <div class="method_details ">
4739
- <h3 class="signature " id="yn-instance_method">
4740
-
4741
- #<strong>yn</strong>(question, default_response: false) &#x21d2; <tt>Bool</tt>
4742
-
4743
-
4744
-
4745
-
4746
-
4747
- </h3><div class="docstring">
4748
- <div class="discussion">
4749
- <p>Ask a yes or no question in the terminal</p>
4750
-
4751
-
4752
- </div>
4753
- </div>
4754
- <div class="tags">
4755
- <p class="tag_title">Parameters:</p>
4756
- <ul class="param">
4757
-
4758
- <li>
4759
-
4760
- <span class='name'>question</span>
4761
-
4762
-
4763
- <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
4764
-
4765
-
4766
-
4767
- &mdash;
4768
- <div class='inline'><p>The question
4769
- to ask</p>
4770
- </div>
4771
-
4772
- </li>
4773
-
4774
- <li>
4775
-
4776
- <span class='name'>default_response</span>
4777
-
4778
-
4779
- <span class='type'>(<tt>Bool</tt>)</span>
4780
-
4781
-
4782
- <em class="default">(defaults to: <tt>false</tt>)</em>
4783
-
4784
-
4785
- &mdash;
4786
- <div class='inline'><p>default
4787
- response if no input</p>
4788
- </div>
4789
-
4790
- </li>
4791
-
4792
- </ul>
4793
-
4794
- <p class="tag_title">Returns:</p>
4795
- <ul class="return">
4796
-
4797
- <li>
4798
-
4799
-
4800
- <span class='type'>(<tt>Bool</tt>)</span>
4801
-
4802
-
4803
-
4804
- &mdash;
4805
- <div class='inline'><p>yes or no</p>
4806
- </div>
4807
-
4808
- </li>
4809
-
4810
- </ul>
4811
-
4812
4439
  </div>
4813
4440
  </div>
4814
4441
 
@@ -4817,7 +4444,7 @@ response if no input</p>
4817
4444
  </div>
4818
4445
 
4819
4446
  <div id="footer">
4820
- Generated on Thu Nov 18 16:39:12 2021 by
4447
+ Generated on Sat Nov 27 13:57:12 2021 by
4821
4448
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
4822
4449
  0.9.26 (ruby-3.0.1).
4823
4450
  </div>