doing 2.1.22 → 2.1.26

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +17 -14
  3. data/.yardoc/object_types +0 -0
  4. data/.yardoc/objects/root.dat +0 -0
  5. data/CHANGELOG.md +323 -111
  6. data/Gemfile.lock +1 -1
  7. data/README.md +1 -1
  8. data/Rakefile +2 -1
  9. data/bin/commands/add_section.rb +13 -0
  10. data/bin/commands/again.rb +99 -0
  11. data/bin/commands/archive.rb +96 -0
  12. data/bin/commands/cancel.rb +102 -0
  13. data/bin/commands/changes.rb +42 -0
  14. data/bin/commands/choose.rb +9 -0
  15. data/bin/commands/colors.rb +19 -0
  16. data/bin/commands/commands.rb +87 -0
  17. data/bin/commands/commands_accepting.rb +25 -0
  18. data/bin/commands/completion.rb +24 -0
  19. data/bin/commands/config.rb +245 -0
  20. data/bin/commands/done.rb +249 -0
  21. data/bin/commands/finish.rb +149 -0
  22. data/bin/commands/flag.rb +126 -0
  23. data/bin/commands/grep.rb +124 -0
  24. data/bin/commands/import.rb +101 -0
  25. data/bin/commands/install_fzf.rb +17 -0
  26. data/bin/commands/last.rb +114 -0
  27. data/bin/commands/meanwhile.rb +86 -0
  28. data/bin/commands/note.rb +130 -0
  29. data/bin/commands/now.rb +151 -0
  30. data/bin/commands/on.rb +66 -0
  31. data/bin/commands/open.rb +53 -0
  32. data/bin/commands/plugins.rb +23 -0
  33. data/bin/commands/recent.rb +78 -0
  34. data/bin/commands/redo.rb +22 -0
  35. data/bin/commands/reset.rb +106 -0
  36. data/bin/commands/rotate.rb +73 -0
  37. data/bin/commands/sections.rb +11 -0
  38. data/bin/commands/select.rb +123 -0
  39. data/bin/commands/show.rb +231 -0
  40. data/bin/commands/since.rb +64 -0
  41. data/bin/commands/tag.rb +179 -0
  42. data/bin/commands/tag_dir.rb +29 -0
  43. data/bin/commands/tags.rb +93 -0
  44. data/bin/commands/template.rb +61 -0
  45. data/bin/commands/today.rb +65 -0
  46. data/bin/commands/undo.rb +49 -0
  47. data/bin/commands/view.rb +238 -0
  48. data/bin/commands/views.rb +11 -0
  49. data/bin/commands/yesterday.rb +73 -0
  50. data/bin/doing +54 -3505
  51. data/docs/doc/Array.html +79 -11
  52. data/docs/doc/BooleanTermParser/Clause.html +5 -5
  53. data/docs/doc/BooleanTermParser/Operator.html +4 -4
  54. data/docs/doc/BooleanTermParser/Query.html +8 -8
  55. data/docs/doc/BooleanTermParser/QueryParser.html +2 -2
  56. data/docs/doc/BooleanTermParser/QueryTransformer.html +2 -2
  57. data/docs/doc/BooleanTermParser.html +1 -1
  58. data/docs/doc/Doing/Color.html +4 -4
  59. data/docs/doc/Doing/Completion.html +2 -2
  60. data/docs/doc/Doing/Configuration.html +17 -18
  61. data/docs/doc/Doing/Errors/DoingNoTraceError.html +2 -2
  62. data/docs/doc/Doing/Errors/DoingRuntimeError.html +2 -2
  63. data/docs/doc/Doing/Errors/DoingStandardError.html +2 -2
  64. data/docs/doc/Doing/Errors/EmptyInput.html +2 -2
  65. data/docs/doc/Doing/Errors/NoResults.html +2 -2
  66. data/docs/doc/Doing/Errors/PluginException.html +3 -3
  67. data/docs/doc/Doing/Errors/UserCancelled.html +2 -2
  68. data/docs/doc/Doing/Errors/WrongCommand.html +2 -2
  69. data/docs/doc/Doing/Errors.html +1 -1
  70. data/docs/doc/Doing/Hooks.html +6 -6
  71. data/docs/doc/Doing/Item.html +50 -16
  72. data/docs/doc/Doing/Items.html +10 -10
  73. data/docs/doc/Doing/LogAdapter.html +24 -24
  74. data/docs/doc/Doing/Note.html +7 -7
  75. data/docs/doc/Doing/Pager.html +4 -4
  76. data/docs/doc/Doing/Plugins.html +7 -7
  77. data/docs/doc/Doing/Prompt.html +59 -14
  78. data/docs/doc/Doing/Section.html +6 -6
  79. data/docs/doc/Doing/TemplateString.html +8 -8
  80. data/docs/doc/Doing/Types.html +206 -0
  81. data/docs/doc/Doing/Util/Backup.html +10 -10
  82. data/docs/doc/Doing/Util.html +16 -19
  83. data/docs/doc/Doing/WWID.html +65 -53
  84. data/docs/doc/Doing.html +3 -3
  85. data/docs/doc/FalseClass.html +201 -0
  86. data/docs/doc/GLI/Commands/Help.html +185 -0
  87. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +17 -17
  88. data/docs/doc/GLI/Commands.html +5 -3
  89. data/docs/doc/GLI.html +4 -2
  90. data/docs/doc/Hash.html +47 -21
  91. data/docs/doc/Numeric.html +5 -5
  92. data/docs/doc/Object.html +203 -0
  93. data/docs/doc/PhraseParser/Operator.html +4 -4
  94. data/docs/doc/PhraseParser/PhraseClause.html +5 -5
  95. data/docs/doc/PhraseParser/Query.html +10 -10
  96. data/docs/doc/PhraseParser/QueryParser.html +2 -2
  97. data/docs/doc/PhraseParser/QueryTransformer.html +2 -2
  98. data/docs/doc/PhraseParser/TermClause.html +5 -5
  99. data/docs/doc/PhraseParser.html +1 -1
  100. data/docs/doc/Status.html +7 -7
  101. data/docs/doc/String.html +144 -51
  102. data/docs/doc/Symbol.html +8 -8
  103. data/docs/doc/Time.html +6 -6
  104. data/docs/doc/TrueClass.html +201 -0
  105. data/docs/doc/_index.html +46 -16
  106. data/docs/doc/class_list.html +1 -1
  107. data/docs/doc/file.README.html +2 -2
  108. data/docs/doc/index.html +2 -2
  109. data/docs/doc/method_list.html +292 -212
  110. data/docs/doc/top-level-namespace.html +2 -2
  111. data/docs/index.md +1 -1
  112. data/doing.rdoc +178 -16
  113. data/example_plugin.rb +2 -2
  114. data/lib/completion/_doing.zsh +27 -27
  115. data/lib/completion/doing.bash +31 -20
  116. data/lib/completion/doing.fish +33 -11
  117. data/lib/doing/array.rb +2 -2
  118. data/lib/doing/changelog/change.rb +115 -0
  119. data/lib/doing/changelog/changes.rb +73 -0
  120. data/lib/doing/changelog/entry.rb +21 -0
  121. data/lib/doing/changelog/version.rb +97 -0
  122. data/lib/doing/changelog.rb +6 -0
  123. data/lib/doing/completion/fish_completion.rb +2 -1
  124. data/lib/doing/configuration.rb +20 -13
  125. data/lib/doing/good.rb +64 -0
  126. data/lib/doing/hash.rb +7 -2
  127. data/lib/doing/help_monkey_patch.rb +31 -0
  128. data/lib/doing/hooks.rb +8 -4
  129. data/lib/doing/item.rb +24 -35
  130. data/lib/doing/pager.rb +1 -0
  131. data/lib/doing/plugins/export/template_export.rb +1 -1
  132. data/lib/doing/plugins/import/calendar_import.rb +1 -1
  133. data/lib/doing/plugins/import/doing_import.rb +1 -1
  134. data/lib/doing/plugins/import/timing_import.rb +1 -1
  135. data/lib/doing/prompt.rb +8 -0
  136. data/lib/doing/string.rb +20 -11
  137. data/lib/doing/string_chronify.rb +1 -1
  138. data/lib/doing/template_string.rb +2 -2
  139. data/lib/doing/types.rb +3 -0
  140. data/lib/doing/util.rb +12 -11
  141. data/lib/doing/version.rb +1 -1
  142. data/lib/doing/wwid.rb +62 -37
  143. data/lib/doing.rb +2 -0
  144. data/lib/examples/commands/wiki.rb +6 -7
  145. data/lib/helpers/threaded_tests.rb +61 -71
  146. data/lib/helpers/threaded_tests_string.rb +50 -0
  147. metadata +56 -2
@@ -86,7 +86,7 @@
86
86
 
87
87
 
88
88
 
89
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="Array.html" title="Array (class)">Array</a></span>, <span class='object_link'><a href="Hash.html" title="Hash (class)">Hash</a></span>, <span class='object_link'><a href="Numeric.html" title="Numeric (class)">Numeric</a></span>, <span class='object_link'><a href="String.html" title="String (class)">String</a></span>, <span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span>, <span class='object_link'><a href="Time.html" title="Time (class)">Time</a></span>
89
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Array.html" title="Array (class)">Array</a></span>, <span class='object_link'><a href="FalseClass.html" title="FalseClass (class)">FalseClass</a></span>, <span class='object_link'><a href="Hash.html" title="Hash (class)">Hash</a></span>, <span class='object_link'><a href="Numeric.html" title="Numeric (class)">Numeric</a></span>, <span class='object_link'><a href="Object.html" title="Object (class)">Object</a></span>, <span class='object_link'><a href="String.html" title="String (class)">String</a></span>, <span class='object_link'><a href="Symbol.html" title="Symbol (class)">Symbol</a></span>, <span class='object_link'><a href="Time.html" title="Time (class)">Time</a></span>, <span class='object_link'><a href="TrueClass.html" title="TrueClass (class)">TrueClass</a></span>
90
90
 
91
91
 
92
92
  </p>
@@ -102,7 +102,7 @@
102
102
  </div>
103
103
 
104
104
  <div id="footer">
105
- Generated on Fri Jan 21 14:53:33 2022 by
105
+ Generated on Sun Jan 23 16:30:43 2022 by
106
106
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
107
  0.9.27 (ruby-3.0.1).
108
108
  </div>
data/docs/index.md CHANGED
@@ -8,7 +8,7 @@ _If you're one of the rare people like me who find this useful, feel free to
8
8
 
9
9
 
10
10
 
11
- The current version of `doing` is 2.1.13.
11
+ The current version of `doing` is 2.1.21.
12
12
 
13
13
  Find all of the documentation in the [doing wiki][wiki].
14
14
 
data/doing.rdoc CHANGED
@@ -5,7 +5,7 @@ record of what you've been doing, complete with tag-based time tracking. The
5
5
  command line tool allows you to add entries, annotate with tags and notes, and
6
6
  view your entries with myriad options, with a focus on a "natural" language syntax.
7
7
 
8
- v2.1.22
8
+ v2.1.26
9
9
 
10
10
  === Global Options
11
11
  === --config_file arg
@@ -165,7 +165,7 @@ Prompt for note via multi-line input
165
165
 
166
166
 
167
167
  ===== -e|--editor
168
- Edit duplicated entry with vim before adding
168
+ Edit duplicated entry with /opt/homebrew/bin/vim before adding
169
169
 
170
170
 
171
171
 
@@ -403,18 +403,55 @@ Force exact search string matching (case sensitive)
403
403
 
404
404
 
405
405
 
406
- ==== Command: <tt>changelog|changes </tt>
406
+ ==== Command: <tt>changes|changelog </tt>
407
407
  List recent changes in Doing
408
408
 
409
- Display a formatted list of changes in recent versions, latest at the top
410
- ==== Command: <tt>choose </tt>
411
- Select a section to display from a menu
409
+ Display a formatted list of changes in recent versions.
410
+
411
+ Without flags, displays only the most recent version.
412
+ Use --lookup or --all for history.
413
+ ===== Options
414
+ ===== -l|--lookup VERSION
415
+
416
+ Look up a specific version. Specify versions as "MAJ.MIN.PATCH", MIN
417
+ and PATCH are optional. Use > or < to see all changes since or prior
418
+ to a version.
419
+
420
+ [Default Value] None
421
+ [Must Match] (?-mix:^(?:(?:(?:[<>=]|p(?:rior)|b(?:efore)|o(?:lder)|s(?:ince)|a(?:fter)|n(?:ewer))? *[\d.*?]+ *)+|(?:[\d.]+ *-+ *[\d.]+))$)
422
+
423
+
424
+ ===== -s|--search arg
425
+
426
+ Show changelogs matching search terms (uses pattern-based searching).
427
+ Add slashes to search with regular expressions, e.g. `--search "/output.*flag/"`
428
+
429
+ [Default Value] None
430
+
431
+
432
+ ===== -a|--all
433
+ Display all versions
434
+
412
435
 
413
436
 
414
437
  ==== Command: <tt>colors </tt>
415
438
  List available color variables for configuration templates and views
416
439
 
417
440
 
441
+ ==== Command: <tt>commands </tt>
442
+ Enable and disable Doing commands
443
+
444
+
445
+ ===== Commands
446
+ ====== Command: <tt>add|enable COMMAND [COMMAND...]</tt>
447
+ Enable Doing commands
448
+
449
+ Run without arguments to select commands from a list.
450
+ ====== Command: <tt>remove|disable </tt>
451
+ Disable Doing commands
452
+
453
+
454
+ [Default Command] add
418
455
  ==== Command: <tt>completion </tt>
419
456
  Generate shell completion scripts
420
457
 
@@ -598,7 +635,7 @@ Include date
598
635
 
599
636
 
600
637
  ===== -e|--editor
601
- Edit entry with vim (with no arguments, edits the last entry)
638
+ Edit entry with /opt/homebrew/bin/vim (with no arguments, edits the last entry)
602
639
 
603
640
 
604
641
 
@@ -763,6 +800,13 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
763
800
  [Must Match] (?-mix:^[csi])
764
801
 
765
802
 
803
+ ===== --config_template TEMPLATE_KEY
804
+
805
+ Output using a template from configuration
806
+
807
+ [Default Value] default
808
+
809
+
766
810
  ===== --from DATE_OR_RANGE
767
811
 
768
812
  Date range to show, or a single day to filter date on.
@@ -797,6 +841,13 @@ Sort tags by (name|time)
797
841
  [Must Match] (?i-mx:^(?:name|time)$)
798
842
 
799
843
 
844
+ ===== --template TEMPLATE_STRING
845
+
846
+ Override output format with a template string containing %placeholders
847
+
848
+ [Default Value] None
849
+
850
+
800
851
  ===== --val QUERY
801
852
 
802
853
  Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
@@ -816,7 +867,7 @@ Show elapsed time on entries without @done tag
816
867
 
817
868
 
818
869
  ===== -e|--editor
819
- Edit matching entries with vim
870
+ Edit matching entries with /opt/homebrew/bin/vim
820
871
 
821
872
 
822
873
 
@@ -983,6 +1034,13 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
983
1034
  [Must Match] (?-mix:^[csi])
984
1035
 
985
1036
 
1037
+ ===== --config_template TEMPLATE_KEY
1038
+
1039
+ Output using a template from configuration
1040
+
1041
+ [Default Value] last
1042
+
1043
+
986
1044
  ===== -s|--section NAME
987
1045
 
988
1046
  Specify a section
@@ -1004,6 +1062,13 @@ Tag filter, combine multiple tags with a comma. Wildcards allowed (*, ?)
1004
1062
  [Default Value] None
1005
1063
 
1006
1064
 
1065
+ ===== --template TEMPLATE_STRING
1066
+
1067
+ Override output format with a template string containing %placeholders
1068
+
1069
+ [Default Value] None
1070
+
1071
+
1007
1072
  ===== --val QUERY
1008
1073
 
1009
1074
  Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
@@ -1023,7 +1088,7 @@ Show elapsed time if entry is not tagged @done
1023
1088
 
1024
1089
 
1025
1090
  ===== -e|--editor
1026
- Edit entry with vim
1091
+ Edit entry with /opt/homebrew/bin/vim
1027
1092
 
1028
1093
 
1029
1094
 
@@ -1067,7 +1132,7 @@ Prompt for note via multi-line input
1067
1132
 
1068
1133
 
1069
1134
  ===== -e|--editor
1070
- Edit entry with vim
1135
+ Edit entry with /opt/homebrew/bin/vim
1071
1136
 
1072
1137
 
1073
1138
 
@@ -1205,7 +1270,7 @@ Prompt for note via multi-line input
1205
1270
 
1206
1271
 
1207
1272
  ===== -e|--editor
1208
- Edit entry with vim
1273
+ Edit entry with /opt/homebrew/bin/vim
1209
1274
 
1210
1275
 
1211
1276
 
@@ -1269,7 +1334,7 @@ Prompt for note via multi-line input
1269
1334
 
1270
1335
 
1271
1336
  ===== -e|--editor
1272
- Edit entry with vim
1337
+ Edit entry with /opt/homebrew/bin/vim
1273
1338
 
1274
1339
 
1275
1340
 
@@ -1302,7 +1367,7 @@ A parenthetical at the end of the entry will be converted to a note.
1302
1367
 
1303
1368
  Run without arguments to create a new entry interactively.
1304
1369
 
1305
- Run with --editor to create a new entry using vim.
1370
+ Run with --editor to create a new entry using /opt/homebrew/bin/vim.
1306
1371
  ===== Options
1307
1372
  ===== -b|--back|--started DATE_STRING
1308
1373
 
@@ -1311,6 +1376,14 @@ Backdate start time [4pm|20m|2h|"yesterday noon"]
1311
1376
  [Default Value] None
1312
1377
 
1313
1378
 
1379
+ ===== --from TIME_RANGE
1380
+
1381
+ Set a start and optionally end time as a date range ("from 1pm to 2:30pm").
1382
+ If an end time is provided, a dated @done tag will be added
1383
+
1384
+ [Default Value] None
1385
+
1386
+
1314
1387
  ===== -n|--note TEXT
1315
1388
 
1316
1389
  Include a note
@@ -1331,7 +1404,7 @@ Prompt for note via multi-line input
1331
1404
 
1332
1405
 
1333
1406
  ===== -e|--editor
1334
- Edit entry with vim
1407
+ Edit entry with /opt/homebrew/bin/vim
1335
1408
 
1336
1409
 
1337
1410
 
@@ -1347,6 +1420,13 @@ Date argument can be natural language. "thursday" would be interpreted as "last
1347
1420
  and "2d" would be interpreted as "two days ago." If you use "to" or "through" between two dates,
1348
1421
  it will create a range.
1349
1422
  ===== Options
1423
+ ===== --config_template TEMPLATE_KEY
1424
+
1425
+ Output using a template from configuration
1426
+
1427
+ [Default Value] default
1428
+
1429
+
1350
1430
  ===== -o|--output FORMAT
1351
1431
 
1352
1432
  Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
@@ -1369,6 +1449,13 @@ Sort tags by (name|time)
1369
1449
  [Must Match] (?i-mx:^(?:name|time)$)
1370
1450
 
1371
1451
 
1452
+ ===== --template TEMPLATE_STRING
1453
+
1454
+ Override output format with a template string containing %placeholders
1455
+
1456
+ [Default Value] None
1457
+
1458
+
1372
1459
  ===== --[no-]duration
1373
1460
  Show elapsed time on entries without @done tag
1374
1461
 
@@ -1388,7 +1475,7 @@ Show time totals at the end of output
1388
1475
  Open the "doing" file in an editor
1389
1476
 
1390
1477
  `doing open` defaults to using the editors->doing_file setting
1391
- in /Users/ttscoff/.config/doing/config.yml (TaskPaper).
1478
+ in /Users/ttscoff/.config/doing/config.yml (/opt/homebrew/bin/vim).
1392
1479
  ===== Options
1393
1480
  ===== -a|--app APP_NAME
1394
1481
 
@@ -1438,6 +1525,13 @@ List recent entries
1438
1525
 
1439
1526
 
1440
1527
  ===== Options
1528
+ ===== --config_template TEMPLATE_KEY
1529
+
1530
+ Output using a template from configuration
1531
+
1532
+ [Default Value] recent
1533
+
1534
+
1441
1535
  ===== -s|--section NAME
1442
1536
 
1443
1537
  Section
@@ -1453,6 +1547,13 @@ Sort tags by (name|time)
1453
1547
  [Must Match] (?i-mx:^(?:name|time)$)
1454
1548
 
1455
1549
 
1550
+ ===== --template TEMPLATE_STRING
1551
+
1552
+ Override output format with a template string containing %placeholders
1553
+
1554
+ [Default Value] None
1555
+
1556
+
1456
1557
  ===== --[no-]duration
1457
1558
  Show elapsed time on entries without @done tag
1458
1559
 
@@ -1861,6 +1962,13 @@ Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart
1861
1962
  [Must Match] (?-mix:^[csi])
1862
1963
 
1863
1964
 
1965
+ ===== --config_template TEMPLATE_KEY
1966
+
1967
+ Output using a template from configuration
1968
+
1969
+ [Default Value] default
1970
+
1971
+
1864
1972
  ===== --from DATE_OR_RANGE
1865
1973
 
1866
1974
  Date range to show, or a single day to filter date on.
@@ -1918,6 +2026,13 @@ Sort tags by (name|time)
1918
2026
  [Must Match] (?i-mx:^(?:name|time))
1919
2027
 
1920
2028
 
2029
+ ===== --template TEMPLATE_STRING
2030
+
2031
+ Override output format with a template string containing %placeholders
2032
+
2033
+ [Default Value] None
2034
+
2035
+
1921
2036
  ===== --val QUERY
1922
2037
 
1923
2038
  Perform a tag value query ("@done > two hours ago" or "@progress < 50"). May be used multiple times, combined with --bool
@@ -1977,6 +2092,13 @@ List entries since a date
1977
2092
  Date argument can be natural language and are always interpreted as being in the past. "thursday" would be interpreted as "last thursday,"
1978
2093
  and "2d" would be interpreted as "two days ago."
1979
2094
  ===== Options
2095
+ ===== --config_template TEMPLATE_KEY
2096
+
2097
+ Output using a template from configuration
2098
+
2099
+ [Default Value] default
2100
+
2101
+
1980
2102
  ===== -o|--output FORMAT
1981
2103
 
1982
2104
  Output to export format (csv|dayone|dayone-days|dayone-entries|doing|html|json|markdown|say|taskpaper|template|timeline|wiki)
@@ -1999,6 +2121,13 @@ Sort tags by (name|time)
1999
2121
  [Must Match] (?i-mx:^(?:name|time)$)
2000
2122
 
2001
2123
 
2124
+ ===== --template TEMPLATE_STRING
2125
+
2126
+ Override output format with a template string containing %placeholders
2127
+
2128
+ [Default Value] None
2129
+
2130
+
2002
2131
  ===== --[no-]duration
2003
2132
  Show elapsed time on entries without @done tag
2004
2133
 
@@ -2156,7 +2285,7 @@ Remove all default_tags from the local .doingrc
2156
2285
 
2157
2286
 
2158
2287
 
2159
- ==== Command: <tt>tags </tt>
2288
+ ==== Command: <tt>tags [MAX_COUNT]</tt>
2160
2289
  List all tags in the current Doing file
2161
2290
 
2162
2291
 
@@ -2233,6 +2362,11 @@ Select items to scan from a menu of matching entries
2233
2362
 
2234
2363
 
2235
2364
 
2365
+ ===== -l|--[no-]line
2366
+ Output in a single line with @ symbols. Ignored if --counts is specified.
2367
+
2368
+
2369
+
2236
2370
  ===== --not
2237
2371
  Get tags from items that *don't* match search/tag filters
2238
2372
 
@@ -2295,6 +2429,13 @@ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
2295
2429
  [Default Value] None
2296
2430
 
2297
2431
 
2432
+ ===== --config_template TEMPLATE_KEY
2433
+
2434
+ Output using a template from configuration
2435
+
2436
+ [Default Value] today
2437
+
2438
+
2298
2439
  ===== --from TIME_RANGE
2299
2440
 
2300
2441
  Time range to show `doing today --from "12pm to 4pm"`
@@ -2324,6 +2465,13 @@ Sort tags by (name|time)
2324
2465
  [Must Match] (?i-mx:^(?:name|time)$)
2325
2466
 
2326
2467
 
2468
+ ===== --template TEMPLATE_STRING
2469
+
2470
+ Override output format with a template string containing %placeholders
2471
+
2472
+ [Default Value] None
2473
+
2474
+
2327
2475
  ===== --[no-]duration
2328
2476
  Show elapsed time on entries without @done tag
2329
2477
 
@@ -2623,6 +2771,13 @@ View entries before specified time (e.g. 8am, 12:30pm, 15:00)
2623
2771
  [Default Value] None
2624
2772
 
2625
2773
 
2774
+ ===== --config_template TEMPLATE_KEY
2775
+
2776
+ Output using a template from configuration
2777
+
2778
+ [Default Value] today
2779
+
2780
+
2626
2781
  ===== --from TIME_RANGE
2627
2782
 
2628
2783
  Time range to show, e.g. `doing yesterday --from "1am to 8am"`
@@ -2661,6 +2816,13 @@ Sort tags by (name|time)
2661
2816
  [Must Match] (?i-mx:^(?:name|time)$)
2662
2817
 
2663
2818
 
2819
+ ===== --template TEMPLATE_STRING
2820
+
2821
+ Override output format with a template string containing %placeholders
2822
+
2823
+ [Default Value] None
2824
+
2825
+
2664
2826
  ===== --[no-]duration
2665
2827
  Show elapsed time on entries without @done tag
2666
2828
 
data/example_plugin.rb CHANGED
@@ -123,7 +123,7 @@ module Doing
123
123
  ## @return [String] Rendered output
124
124
  ##
125
125
  def self.render(wwid, items, variables: {})
126
- return if items.nil? || items.empty?
126
+ return unless items.good?
127
127
 
128
128
  # the :options key includes the flags passed to the
129
129
  # command that called the plugin use `puts
@@ -164,7 +164,7 @@ module Doing
164
164
 
165
165
  if wwid.config['export_templates'].key?('say')
166
166
  cfg_tpl = wwid.config['export_templates']['say']
167
- tpl = cfg_tpl unless cfg_tpl.nil? || cfg_tpl.empty?
167
+ tpl = cfg_tpl if cfg_tpl.good?
168
168
  end
169
169
  output = tpl.dup
170
170
  output.gsub!(/%date/, date)