doing 2.0.22 → 2.1.0pre

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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +18 -15
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/CHANGELOG.md +36 -1
  6. data/Gemfile.lock +8 -1
  7. data/README.md +7 -1
  8. data/Rakefile +23 -4
  9. data/bin/doing +323 -173
  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 +477 -670
  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 +599 -23
  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 +453 -173
  50. data/doc/top-level-namespace.html +1 -1
  51. data/doing.gemspec +3 -0
  52. data/doing.rdoc +79 -27
  53. data/example_plugin.rb +5 -5
  54. data/lib/completion/_doing.zsh +42 -42
  55. data/lib/completion/doing.bash +10 -10
  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/util.rb +14 -6
  79. data/lib/doing/version.rb +1 -1
  80. data/lib/doing/wwid.rb +307 -614
  81. data/lib/doing.rb +6 -2
  82. data/lib/examples/plugins/capture_thing_import.rb +162 -0
  83. data/rdoc_to_mmd.rb +14 -8
  84. data/scripts/generate_bash_completions.rb +1 -1
  85. data/scripts/generate_fish_completions.rb +1 -1
  86. data/scripts/generate_zsh_completions.rb +1 -1
  87. metadata +73 -5
  88. data/lib/doing/wwidfile.rb +0 -117
data/doc/Doing/Note.html CHANGED
@@ -143,7 +143,8 @@
143
143
 
144
144
 
145
145
 
146
- <span class="summary_desc"><div class='inline'></div></span>
146
+ <span class="summary_desc"><div class='inline'><p>Add note contents, optionally replacing existing note.</p>
147
+ </div></span>
147
148
 
148
149
  </li>
149
150
 
@@ -165,7 +166,8 @@
165
166
 
166
167
 
167
168
 
168
- <span class="summary_desc"><div class='inline'></div></span>
169
+ <span class="summary_desc"><div class='inline'><p>Append an array of strings to note.</p>
170
+ </div></span>
169
171
 
170
172
  </li>
171
173
 
@@ -187,7 +189,8 @@
187
189
 
188
190
 
189
191
 
190
- <span class="summary_desc"><div class='inline'></div></span>
192
+ <span class="summary_desc"><div class='inline'><p>Append a string to the note content.</p>
193
+ </div></span>
191
194
 
192
195
  </li>
193
196
 
@@ -195,7 +198,7 @@
195
198
  <li class="public ">
196
199
  <span class="summary_signature">
197
200
 
198
- <a href="#compress-instance_method" title="#compress (instance method)">#<strong>compress</strong> &#x21d2; Object </a>
201
+ <a href="#compress-instance_method" title="#compress (instance method)">#<strong>compress</strong> &#x21d2; Array </a>
199
202
 
200
203
 
201
204
 
@@ -209,7 +212,8 @@
209
212
 
210
213
 
211
214
 
212
- <span class="summary_desc"><div class='inline'></div></span>
215
+ <span class="summary_desc"><div class='inline'><p>Remove blank lines and comment lines (#).</p>
216
+ </div></span>
213
217
 
214
218
  </li>
215
219
 
@@ -253,7 +257,8 @@
253
257
 
254
258
 
255
259
 
256
- <span class="summary_desc"><div class='inline'></div></span>
260
+ <span class="summary_desc"><div class='inline'><p>Test if a note is equal (compare string representations).</p>
261
+ </div></span>
257
262
 
258
263
  </li>
259
264
 
@@ -277,7 +282,7 @@
277
282
 
278
283
 
279
284
 
280
- <span class="summary_desc"><div class='inline'><p>A new instance of Note.</p>
285
+ <span class="summary_desc"><div class='inline'><p>Initializes a new note.</p>
281
286
  </div></span>
282
287
 
283
288
  </li>
@@ -286,7 +291,7 @@
286
291
  <li class="public ">
287
292
  <span class="summary_signature">
288
293
 
289
- <a href="#strip_lines-instance_method" title="#strip_lines (instance method)">#<strong>strip_lines</strong> &#x21d2; Object </a>
294
+ <a href="#strip_lines-instance_method" title="#strip_lines (instance method)">#<strong>strip_lines</strong> &#x21d2; Array </a>
290
295
 
291
296
 
292
297
 
@@ -300,7 +305,8 @@
300
305
 
301
306
 
302
307
 
303
- <span class="summary_desc"><div class='inline'></div></span>
308
+ <span class="summary_desc"><div class='inline'><p>Remove leading/trailing whitespace for every line of note.</p>
309
+ </div></span>
304
310
 
305
311
  </li>
306
312
 
@@ -344,7 +350,8 @@
344
350
 
345
351
 
346
352
 
347
- <span class="summary_desc"><div class='inline'></div></span>
353
+ <span class="summary_desc"><div class='inline'><p>Note as multi-line string.</p>
354
+ </div></span>
348
355
 
349
356
  </li>
350
357
 
@@ -358,7 +365,12 @@
358
365
 
359
366
 
360
367
 
361
- <div id="constructor_details" class="method_details_list">
368
+
369
+
370
+
371
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></h3>
372
+ <p class="inherited"><span class='object_link'><a href="../Array.html#highlight_tags-instance_method" title="Array#highlight_tags (method)">#highlight_tags</a></span>, <span class='object_link'><a href="../Array.html#log_tags-instance_method" title="Array#log_tags (method)">#log_tags</a></span>, <span class='object_link'><a href="../Array.html#nested_hash-instance_method" title="Array#nested_hash (method)">#nested_hash</a></span>, <span class='object_link'><a href="../Array.html#to_tags-instance_method" title="Array#to_tags (method)">#to_tags</a></span>, <span class='object_link'><a href="../Array.html#to_tags!-instance_method" title="Array#to_tags! (method)">#to_tags!</a></span></p>
373
+ <div id="constructor_details" class="method_details_list">
362
374
  <h2>Constructor Details</h2>
363
375
 
364
376
  <div class="method_details first">
@@ -372,13 +384,35 @@
372
384
 
373
385
  </h3><div class="docstring">
374
386
  <div class="discussion">
375
- <p>Returns a new instance of Note.</p>
387
+ <p>Initializes a new note</p>
376
388
 
377
389
 
378
390
  </div>
379
391
  </div>
380
392
  <div class="tags">
393
+ <p class="tag_title">Parameters:</p>
394
+ <ul class="param">
381
395
 
396
+ <li>
397
+
398
+ <span class='name'>note</span>
399
+
400
+
401
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
402
+
403
+
404
+ <em class="default">(defaults to: <tt>[]</tt>)</em>
405
+
406
+
407
+ &mdash;
408
+ <div class='inline'><p>Initial note, can be string
409
+ or array</p>
410
+ </div>
411
+
412
+ </li>
413
+
414
+ </ul>
415
+
382
416
 
383
417
  </div>
384
418
  </div>
@@ -399,7 +433,55 @@
399
433
 
400
434
 
401
435
 
402
- </h3>
436
+ </h3><div class="docstring">
437
+ <div class="discussion">
438
+ <p>Add note contents, optionally replacing existing note</p>
439
+
440
+
441
+ </div>
442
+ </div>
443
+ <div class="tags">
444
+ <p class="tag_title">Parameters:</p>
445
+ <ul class="param">
446
+
447
+ <li>
448
+
449
+ <span class='name'>note</span>
450
+
451
+
452
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
453
+
454
+
455
+
456
+ &mdash;
457
+ <div class='inline'><p>The note to add, can be
458
+ string or array (Note)</p>
459
+ </div>
460
+
461
+ </li>
462
+
463
+ <li>
464
+
465
+ <span class='name'>replace</span>
466
+
467
+
468
+ <span class='type'>(<tt>Boolean</tt>)</span>
469
+
470
+
471
+ <em class="default">(defaults to: <tt>false</tt>)</em>
472
+
473
+
474
+ &mdash;
475
+ <div class='inline'><p>replace existing
476
+ content</p>
477
+ </div>
478
+
479
+ </li>
480
+
481
+ </ul>
482
+
483
+
484
+ </div>
403
485
  </div>
404
486
 
405
487
  <div class="method_details ">
@@ -411,7 +493,36 @@
411
493
 
412
494
 
413
495
 
414
- </h3>
496
+ </h3><div class="docstring">
497
+ <div class="discussion">
498
+ <p>Append an array of strings to note</p>
499
+
500
+
501
+ </div>
502
+ </div>
503
+ <div class="tags">
504
+ <p class="tag_title">Parameters:</p>
505
+ <ul class="param">
506
+
507
+ <li>
508
+
509
+ <span class='name'>lines</span>
510
+
511
+
512
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
513
+
514
+
515
+
516
+ &mdash;
517
+ <div class='inline'><p>Array of strings</p>
518
+ </div>
519
+
520
+ </li>
521
+
522
+ </ul>
523
+
524
+
525
+ </div>
415
526
  </div>
416
527
 
417
528
  <div class="method_details ">
@@ -423,19 +534,76 @@
423
534
 
424
535
 
425
536
 
426
- </h3>
537
+ </h3><div class="docstring">
538
+ <div class="discussion">
539
+ <p>Append a string to the note content</p>
540
+
541
+
542
+ </div>
543
+ </div>
544
+ <div class="tags">
545
+ <p class="tag_title">Parameters:</p>
546
+ <ul class="param">
547
+
548
+ <li>
549
+
550
+ <span class='name'>input</span>
551
+
552
+
553
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
554
+
555
+
556
+
557
+ &mdash;
558
+ <div class='inline'><p>The input string,
559
+ newlines will be split</p>
560
+ </div>
561
+
562
+ </li>
563
+
564
+ </ul>
565
+
566
+
567
+ </div>
427
568
  </div>
428
569
 
429
570
  <div class="method_details ">
430
571
  <h3 class="signature " id="compress-instance_method">
431
572
 
432
- #<strong>compress</strong> &#x21d2; <tt>Object</tt>
573
+ #<strong>compress</strong> &#x21d2; <tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>
433
574
 
434
575
 
435
576
 
436
577
 
437
578
 
438
- </h3>
579
+ </h3><div class="docstring">
580
+ <div class="discussion">
581
+ <p>Remove blank lines and comment lines (#)</p>
582
+
583
+
584
+ </div>
585
+ </div>
586
+ <div class="tags">
587
+
588
+ <p class="tag_title">Returns:</p>
589
+ <ul class="return">
590
+
591
+ <li>
592
+
593
+
594
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
595
+
596
+
597
+
598
+ &mdash;
599
+ <div class='inline'><p>compressed array</p>
600
+ </div>
601
+
602
+ </li>
603
+
604
+ </ul>
605
+
606
+ </div>
439
607
  </div>
440
608
 
441
609
  <div class="method_details ">
@@ -461,12 +629,33 @@
461
629
 
462
630
  </h3><div class="docstring">
463
631
  <div class="discussion">
464
-
632
+ <p>Test if a note is equal (compare string
633
+ representations)</p>
634
+
465
635
 
466
636
  </div>
467
637
  </div>
468
638
  <div class="tags">
639
+ <p class="tag_title">Parameters:</p>
640
+ <ul class="param">
469
641
 
642
+ <li>
643
+
644
+ <span class='name'>other</span>
645
+
646
+
647
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Doing::Note (class)">Note</a></span></tt>)</span>
648
+
649
+
650
+
651
+ &mdash;
652
+ <div class='inline'><p>The other Note</p>
653
+ </div>
654
+
655
+ </li>
656
+
657
+ </ul>
658
+
470
659
  <p class="tag_title">Returns:</p>
471
660
  <ul class="return">
472
661
 
@@ -477,6 +666,10 @@
477
666
 
478
667
 
479
668
 
669
+ &mdash;
670
+ <div class='inline'><p>true if equal</p>
671
+ </div>
672
+
480
673
  </li>
481
674
 
482
675
  </ul>
@@ -487,13 +680,41 @@
487
680
  <div class="method_details ">
488
681
  <h3 class="signature " id="strip_lines-instance_method">
489
682
 
490
- #<strong>strip_lines</strong> &#x21d2; <tt>Object</tt>
683
+ #<strong>strip_lines</strong> &#x21d2; <tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>
491
684
 
492
685
 
493
686
 
494
687
 
495
688
 
496
- </h3>
689
+ </h3><div class="docstring">
690
+ <div class="discussion">
691
+ <p>Remove leading/trailing whitespace for
692
+ every line of note</p>
693
+
694
+
695
+ </div>
696
+ </div>
697
+ <div class="tags">
698
+
699
+ <p class="tag_title">Returns:</p>
700
+ <ul class="return">
701
+
702
+ <li>
703
+
704
+
705
+ <span class='type'>(<tt><span class='object_link'><a href="../Array.html" title="Array (class)">Array</a></span></tt>)</span>
706
+
707
+
708
+
709
+ &mdash;
710
+ <div class='inline'><p>Stripped note</p>
711
+ </div>
712
+
713
+ </li>
714
+
715
+ </ul>
716
+
717
+ </div>
497
718
  </div>
498
719
 
499
720
  <div class="method_details ">
@@ -517,7 +738,17 @@
517
738
 
518
739
 
519
740
 
520
- </h3>
741
+ </h3><div class="docstring">
742
+ <div class="discussion">
743
+ <p>Note as multi-line string</p>
744
+
745
+
746
+ </div>
747
+ </div>
748
+ <div class="tags">
749
+
750
+
751
+ </div>
521
752
  </div>
522
753
 
523
754
  </div>
@@ -525,7 +756,7 @@
525
756
  </div>
526
757
 
527
758
  <div id="footer">
528
- Generated on Thu Nov 18 16:39:11 2021 by
759
+ Generated on Sat Nov 27 10:06:03 2021 by
529
760
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
530
761
  0.9.26 (ruby-3.0.1).
531
762
  </div>
data/doc/Doing/Pager.html CHANGED
@@ -125,7 +125,8 @@
125
125
 
126
126
 
127
127
 
128
- <span class="summary_desc"><div class='inline'></div></span>
128
+ <span class="summary_desc"><div class='inline'><p>Page output.</p>
129
+ </div></span>
129
130
 
130
131
  </li>
131
132
 
@@ -147,7 +148,8 @@
147
148
 
148
149
 
149
150
 
150
- <span class="summary_desc"><div class='inline'></div></span>
151
+ <span class="summary_desc"><div class='inline'><p>Boolean determines whether output is paginated.</p>
152
+ </div></span>
151
153
 
152
154
  </li>
153
155
 
@@ -169,29 +171,8 @@
169
171
 
170
172
 
171
173
 
172
- <span class="summary_desc"><div class='inline'></div></span>
173
-
174
- </li>
175
-
176
-
177
- <li class="public ">
178
- <span class="summary_signature">
179
-
180
- <a href="#which_pager-class_method" title="which_pager (class method)">.<strong>which_pager</strong> &#x21d2; Object </a>
181
-
182
-
183
-
184
- </span>
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
- <span class="summary_desc"><div class='inline'></div></span>
174
+ <span class="summary_desc"><div class='inline'><p>Enable/disable pagination.</p>
175
+ </div></span>
195
176
 
196
177
  </li>
197
178
 
@@ -214,7 +195,37 @@
214
195
 
215
196
 
216
197
 
217
- </h3>
198
+ </h3><div class="docstring">
199
+ <div class="discussion">
200
+ <p>Page output. If @paginate is false, just dump to
201
+ STDOUT</p>
202
+
203
+
204
+ </div>
205
+ </div>
206
+ <div class="tags">
207
+ <p class="tag_title">Parameters:</p>
208
+ <ul class="param">
209
+
210
+ <li>
211
+
212
+ <span class='name'>text</span>
213
+
214
+
215
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="String (class)">String</a></span></tt>)</span>
216
+
217
+
218
+
219
+ &mdash;
220
+ <div class='inline'><p>text to paginate</p>
221
+ </div>
222
+
223
+ </li>
224
+
225
+ </ul>
226
+
227
+
228
+ </div>
218
229
  </div>
219
230
 
220
231
  <div class="method_details ">
@@ -226,7 +237,17 @@
226
237
 
227
238
 
228
239
 
229
- </h3>
240
+ </h3><div class="docstring">
241
+ <div class="discussion">
242
+ <p>Boolean determines whether output is paginated</p>
243
+
244
+
245
+ </div>
246
+ </div>
247
+ <div class="tags">
248
+
249
+
250
+ </div>
230
251
  </div>
231
252
 
232
253
  <div class="method_details ">
@@ -238,19 +259,36 @@
238
259
 
239
260
 
240
261
 
241
- </h3>
262
+ </h3><div class="docstring">
263
+ <div class="discussion">
264
+ <p>Enable/disable pagination</p>
265
+
266
+
267
+ </div>
242
268
  </div>
243
-
244
- <div class="method_details ">
245
- <h3 class="signature " id="which_pager-class_method">
269
+ <div class="tags">
270
+ <p class="tag_title">Parameters:</p>
271
+ <ul class="param">
246
272
 
247
- .<strong>which_pager</strong> &#x21d2; <tt>Object</tt>
273
+ <li>
274
+
275
+ <span class='name'>should_paginate</span>
276
+
277
+
278
+ <span class='type'>(<tt>Boolean</tt>)</span>
279
+
280
+
281
+
282
+ &mdash;
283
+ <div class='inline'><p>true to paginate</p>
284
+ </div>
285
+
286
+ </li>
248
287
 
288
+ </ul>
249
289
 
250
-
251
290
 
252
-
253
- </h3>
291
+ </div>
254
292
  </div>
255
293
 
256
294
  </div>
@@ -258,7 +296,7 @@
258
296
  </div>
259
297
 
260
298
  <div id="footer">
261
- Generated on Thu Nov 18 16:39:11 2021 by
299
+ Generated on Sat Nov 27 10:06:03 2021 by
262
300
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
263
301
  0.9.26 (ruby-3.0.1).
264
302
  </div>
@@ -839,7 +839,7 @@
839
839
  </div>
840
840
 
841
841
  <div id="footer">
842
- Generated on Thu Nov 18 16:39:11 2021 by
842
+ Generated on Sat Nov 27 10:06:03 2021 by
843
843
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
844
844
  0.9.26 (ruby-3.0.1).
845
845
  </div>