doing 2.1.68 → 2.1.72

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/Gemfile.lock +3 -3
  4. data/README.md +2 -2
  5. data/bin/commands/commands.rb +57 -2
  6. data/docs/doc/Array.html +1 -1
  7. data/docs/doc/BooleanTermParser/Clause.html +1 -1
  8. data/docs/doc/BooleanTermParser/Operator.html +1 -1
  9. data/docs/doc/BooleanTermParser/Query.html +1 -1
  10. data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
  11. data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
  12. data/docs/doc/BooleanTermParser.html +1 -1
  13. data/docs/doc/Doing/ArrayCleanup.html +1 -1
  14. data/docs/doc/Doing/ArrayNestedHash.html +1 -1
  15. data/docs/doc/Doing/ArrayTags.html +1 -1
  16. data/docs/doc/Doing/CSVExport.html +1 -1
  17. data/docs/doc/Doing/CalendarImport.html +1 -1
  18. data/docs/doc/Doing/Change.html +1 -1
  19. data/docs/doc/Doing/Changes.html +1 -1
  20. data/docs/doc/Doing/ChronifyArray.html +1 -1
  21. data/docs/doc/Doing/ChronifyNumeric.html +1 -1
  22. data/docs/doc/Doing/ChronifyString.html +1 -1
  23. data/docs/doc/Doing/Color.html +1 -1
  24. data/docs/doc/Doing/Completion/BashCompletions.html +1 -1
  25. data/docs/doc/Doing/Completion/FigCompletions.html +1 -1
  26. data/docs/doc/Doing/Completion/FishCompletions.html +1 -1
  27. data/docs/doc/Doing/Completion/StringUtils.html +1 -1
  28. data/docs/doc/Doing/Completion/ZshCompletions.html +1 -1
  29. data/docs/doc/Doing/Completion.html +1 -1
  30. data/docs/doc/Doing/Configuration.html +1 -1
  31. data/docs/doc/Doing/DayOneRenderer.html +1 -1
  32. data/docs/doc/Doing/DayoneExport.html +1 -1
  33. data/docs/doc/Doing/DoingExport.html +1 -1
  34. data/docs/doc/Doing/DoingImport.html +1 -1
  35. data/docs/doc/Doing/Entry.html +1 -1
  36. data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
  37. data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
  38. data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
  39. data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
  40. data/docs/doc/Doing/Errors/HistoryLimitError.html +1 -1
  41. data/docs/doc/Doing/Errors/InvalidPlugin.html +1 -1
  42. data/docs/doc/Doing/Errors/MissingBackupFile.html +1 -1
  43. data/docs/doc/Doing/Errors/NoResults.html +1 -1
  44. data/docs/doc/Doing/Errors/PluginException.html +1 -1
  45. data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
  46. data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
  47. data/docs/doc/Doing/Errors.html +1 -1
  48. data/docs/doc/Doing/HTMLExport.html +1 -1
  49. data/docs/doc/Doing/Hooks.html +1 -1
  50. data/docs/doc/Doing/Item.html +1 -1
  51. data/docs/doc/Doing/ItemDates.html +1 -1
  52. data/docs/doc/Doing/ItemQuery.html +1 -1
  53. data/docs/doc/Doing/ItemState.html +1 -1
  54. data/docs/doc/Doing/ItemTags.html +1 -1
  55. data/docs/doc/Doing/Items.html +1 -1
  56. data/docs/doc/Doing/JSONExport.html +1 -1
  57. data/docs/doc/Doing/JSONImport.html +1 -1
  58. data/docs/doc/Doing/Logger.html +1 -1
  59. data/docs/doc/Doing/MarkdownExport.html +1 -1
  60. data/docs/doc/Doing/Note.html +1 -1
  61. data/docs/doc/Doing/Pager.html +1 -1
  62. data/docs/doc/Doing/Plugins.html +1 -1
  63. data/docs/doc/Doing/Prompt.html +1 -1
  64. data/docs/doc/Doing/PromptChoose.html +1 -1
  65. data/docs/doc/Doing/PromptFZF.html +1 -1
  66. data/docs/doc/Doing/PromptInput.html +1 -1
  67. data/docs/doc/Doing/PromptSTD.html +1 -1
  68. data/docs/doc/Doing/PromptYN.html +1 -1
  69. data/docs/doc/Doing/Section.html +1 -1
  70. data/docs/doc/Doing/StringHighlight.html +1 -1
  71. data/docs/doc/Doing/StringNormalize.html +84 -1
  72. data/docs/doc/Doing/StringQuery.html +1 -1
  73. data/docs/doc/Doing/StringTags.html +1 -1
  74. data/docs/doc/Doing/StringTransform.html +1 -1
  75. data/docs/doc/Doing/StringTruncate.html +1 -1
  76. data/docs/doc/Doing/StringURL.html +1 -1
  77. data/docs/doc/Doing/SymbolNormalize.html +1 -1
  78. data/docs/doc/Doing/TaskPaperExport.html +1 -1
  79. data/docs/doc/Doing/TemplateExport.html +1 -1
  80. data/docs/doc/Doing/TemplateString.html +2 -2
  81. data/docs/doc/Doing/TimingImport.html +1 -1
  82. data/docs/doc/Doing/Types.html +1 -1
  83. data/docs/doc/Doing/Util/Backup.html +1 -1
  84. data/docs/doc/Doing/Util.html +1 -1
  85. data/docs/doc/Doing/Version.html +1 -1
  86. data/docs/doc/Doing/WWID.html +1 -1
  87. data/docs/doc/Doing.html +2 -2
  88. data/docs/doc/FalseClass.html +1 -1
  89. data/docs/doc/GLI/Commands/Help.html +1 -1
  90. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
  91. data/docs/doc/GLI/Commands.html +1 -1
  92. data/docs/doc/GLI.html +1 -1
  93. data/docs/doc/Hash.html +1 -1
  94. data/docs/doc/Numeric.html +1 -1
  95. data/docs/doc/Object.html +1 -1
  96. data/docs/doc/PhraseParser/Operator.html +1 -1
  97. data/docs/doc/PhraseParser/PhraseClause.html +1 -1
  98. data/docs/doc/PhraseParser/Query.html +1 -1
  99. data/docs/doc/PhraseParser/QueryParser.html +1 -1
  100. data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
  101. data/docs/doc/PhraseParser/TermClause.html +1 -1
  102. data/docs/doc/PhraseParser.html +1 -1
  103. data/docs/doc/Status.html +1 -1
  104. data/docs/doc/String.html +2 -2
  105. data/docs/doc/Symbol.html +1 -1
  106. data/docs/doc/Time.html +1 -1
  107. data/docs/doc/TrueClass.html +1 -1
  108. data/docs/doc/_index.html +1 -1
  109. data/docs/doc/file.README.html +3 -3
  110. data/docs/doc/index.html +3 -3
  111. data/docs/doc/method_list.html +417 -409
  112. data/docs/doc/top-level-namespace.html +1 -1
  113. data/doing.gemspec +0 -1
  114. data/doing.rdoc +54 -7
  115. data/lib/completion/_doing.zsh +11 -7
  116. data/lib/completion/doing.bash +19 -8
  117. data/lib/completion/doing.fish +9 -4
  118. data/lib/completion/doing.ts +47 -7
  119. data/lib/doing/add_options.rb +1 -1
  120. data/lib/doing/normalize.rb +20 -0
  121. data/lib/doing/prompt/choose.rb +1 -1
  122. data/lib/doing/version.rb +1 -1
  123. metadata +2 -2
@@ -216,7 +216,7 @@
216
216
  </div>
217
217
 
218
218
  <div id="footer">
219
- Generated on Mon Aug 8 12:23:44 2022 by
219
+ Generated on Sun Jan 1 07:08:46 2023 by
220
220
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
221
221
  0.9.28 (ruby-3.0.1).
222
222
  </div>
data/doing.gemspec CHANGED
@@ -18,7 +18,6 @@ spec = Gem::Specification.new do |s|
18
18
  `git ls-files -z`.split("\x0").reject { |f| f.strip =~ %r{^((test|spec|features)/|\.git|buildnotes)} }
19
19
  end
20
20
  s.require_paths << 'lib'
21
-
22
21
  s.extra_rdoc_files = ['README.md']
23
22
  s.rdoc_options << '--title' << 'doing' << '--main' << 'README.md' << '--markup' << 'markdown'
24
23
  s.bindir = 'bin'
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.68
8
+ v2.1.72
9
9
 
10
10
  === Global Options
11
11
  === --config_file arg
@@ -89,7 +89,7 @@ Repeat last entry as new entry
89
89
  This command is designed to allow multiple time intervals to be created
90
90
  for an entry by duplicating it with a new start (and end, eventually) time
91
91
  ===== Options
92
- ===== -b|--back|--started DATE_STRING
92
+ ===== -b|--back|--started|--since DATE_STRING
93
93
 
94
94
  Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]
95
95
 
@@ -504,11 +504,29 @@ Enable and disable Doing commands
504
504
 
505
505
 
506
506
  ===== Commands
507
- ====== Command: <tt>add|enable COMMAND [COMMAND...]</tt>
507
+ ====== Command: <tt>add|enable [COMMAND [COMMAND...]]</tt>
508
508
  Enable Doing commands
509
509
 
510
510
  Run without arguments to select commands from a list.
511
- ====== Command: <tt>remove|disable </tt>
511
+ ====== Command: <tt>ls|list [QUERY]...</tt>
512
+ List enabled commands
513
+
514
+
515
+ ======= Options
516
+ ======= -s|--style QUERY
517
+
518
+ List style (column, tab, comma, *space)
519
+
520
+ [Default Value] None
521
+ [Must Match] (?-mix:^[cts].*)
522
+
523
+
524
+ ======= -d|--[no-]disabled
525
+ List disabled commands
526
+
527
+
528
+
529
+ ====== Command: <tt>remove|disable [COMMAND [COMMAND...]]</tt>
512
530
  Disable Doing commands
513
531
 
514
532
 
@@ -662,7 +680,7 @@ Set finish date to specific date/time (natural langauge parsed, e.g. --at=1:30pm
662
680
  [Default Value] None
663
681
 
664
682
 
665
- ===== -b|--back|--started DATE_STRING
683
+ ===== -b|--back|--started|--since DATE_STRING
666
684
 
667
685
  Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]
668
686
 
@@ -1271,6 +1289,35 @@ Force exact search string matching (case sensitive)
1271
1289
 
1272
1290
 
1273
1291
 
1292
+ ==== Command: <tt>later ENTRY</tt>
1293
+ Add an item to the Later section
1294
+
1295
+
1296
+ ===== Options
1297
+ ===== -b|--back|--started DATE_STRING
1298
+
1299
+ Backdate start time to date string [4pm|20m|2h|yesterday noon]
1300
+
1301
+ [Default Value] None
1302
+
1303
+
1304
+ ===== -n|--note TEXT
1305
+
1306
+ Note
1307
+
1308
+ [Default Value] None
1309
+
1310
+
1311
+ ===== --ask
1312
+ Prompt for note via multi-line input
1313
+
1314
+
1315
+
1316
+ ===== -e|--editor
1317
+ Edit entry with vim
1318
+
1319
+
1320
+
1274
1321
  ==== Command: <tt>mark|flag </tt>
1275
1322
  Mark last entry as flagged
1276
1323
 
@@ -1374,7 +1421,7 @@ This command makes it easy to start and stop these overarching entries. Just run
1374
1421
  big project` to start a @meanwhile entry, add other entries as you work on the project, then use `doing meanwhile` by
1375
1422
  itself to mark the entry as @done.
1376
1423
  ===== Options
1377
- ===== -b|--back|--started DATE_STRING
1424
+ ===== -b|--back|--started|--since DATE_STRING
1378
1425
 
1379
1426
  Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]
1380
1427
 
@@ -1512,7 +1559,7 @@ Run without arguments to create a new entry interactively.
1512
1559
 
1513
1560
  Run with --editor to create a new entry using vim.
1514
1561
  ===== Options
1515
- ===== -b|--back|--started DATE_STRING
1562
+ ===== -b|--back|--started|--since DATE_STRING
1516
1563
 
1517
1564
  Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]
1518
1565
 
@@ -27,6 +27,7 @@ function _doing() {
27
27
  'help:Shows a list of commands or help for one command'
28
28
  'import:Import entries from an external source'
29
29
  'last:Show the last entry'
30
+ 'later:Add an item to the Later section'
30
31
  'mark:Mark last entry as flagged'
31
32
  'flag:Mark last entry as flagged'
32
33
  'meanwhile:Finish any running @meanwhile tasks and optionally create a new one'
@@ -67,10 +68,10 @@ function _doing() {
67
68
 
68
69
  case $line[1] in
69
70
  again)
70
- args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" "--ask[Prompt for note via multi-line input]" "--started[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" "--bool[Boolean used to combine multiple tags]:BOOLEAN:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--interactive)-i','(-i)--interactive'}"[Select item to resume from a menu of matching entries]" "--in[Add new entry to section]:SECTION_NAME:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" "--not[Repeat items that *don't* match search/tag filters]" {'(--section)-s','(-s)--section'}"[Get last entry from a specific section]:NAME:" "--search[Filter entries using a search query]:QUERY:" "--tag[Filter entries by tag]:TAG:" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
71
+ args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" "--ask[Prompt for note via multi-line input]" "--since[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" "--bool[Boolean used to combine multiple tags]:BOOLEAN:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--interactive)-i','(-i)--interactive'}"[Select item to resume from a menu of matching entries]" "--in[Add new entry to section]:SECTION_NAME:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" "--not[Repeat items that *don't* match search/tag filters]" {'(--section)-s','(-s)--section'}"[Get last entry from a specific section]:NAME:" "--search[Filter entries using a search query]:QUERY:" "--tag[Filter entries by tag]:TAG:" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
71
72
  ;;
72
73
  resume)
73
- args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" "--ask[Prompt for note via multi-line input]" "--started[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" "--bool[Boolean used to combine multiple tags]:BOOLEAN:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--interactive)-i','(-i)--interactive'}"[Select item to resume from a menu of matching entries]" "--in[Add new entry to section]:SECTION_NAME:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" "--not[Repeat items that *don't* match search/tag filters]" {'(--section)-s','(-s)--section'}"[Get last entry from a specific section]:NAME:" "--search[Filter entries using a search query]:QUERY:" "--tag[Filter entries by tag]:TAG:" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
74
+ args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" "--ask[Prompt for note via multi-line input]" "--since[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" "--bool[Boolean used to combine multiple tags]:BOOLEAN:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--interactive)-i','(-i)--interactive'}"[Select item to resume from a menu of matching entries]" "--in[Add new entry to section]:SECTION_NAME:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" "--not[Repeat items that *don't* match search/tag filters]" {'(--section)-s','(-s)--section'}"[Get last entry from a specific section]:NAME:" "--search[Filter entries using a search query]:QUERY:" "--tag[Filter entries by tag]:TAG:" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
74
75
  ;;
75
76
  archive)
76
77
  args=( "--after[Archive entries newer than date]:DATE_STRING:" "--before[Archive entries older than date]:DATE_STRING:" "--bool[Boolean used to combine multiple tags]:BOOLEAN:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" "--from[Date range]:DATE_OR_RANGE:" {'(--keep)-k','(-k)--keep'}"[How many items to keep]:X:" "--label[Label moved items with @from(SECTION_NAME)]" "--not[Archive items that *don't* match search/tag filters]" "--search[Filter entries using a search query]:QUERY:" {'(--to)-t','(-t)--to'}"[Move entries to]:SECTION_NAME:" "--tag[Filter entries by tag]:TAG:" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
@@ -103,10 +104,10 @@ function _doing() {
103
104
  args=( {'(--dump)-d','(-d)--dump'}"[DEPRECATED]" {'(--update)-u','(-u)--update'}"[DEPRECATED]" )
104
105
  ;;
105
106
  done)
106
- args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" {'(--archive)-a','(-a)--archive'}"[Immediately archive the entry]" "--ask[Prompt for note via multi-line input]" "--finished[Set finish date to specific date/time]:DATE_STRING:" "--started[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" "--date[Include date]" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" "--from[Start and end times as a date/time range `doing done --from \"1am to 8am\"`]:TIME_RANGE:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--remove)-r','(-r)--remove'}"[Remove @done tag]" {'(--section)-s','(-s)--section'}"[Section]:NAME:" "--for[Set completion date to start date plus interval]:INTERVAL:" {'(--unfinished)-u','(-u)--unfinished'}"[Finish last entry not already marked @done]" )
107
+ args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" {'(--archive)-a','(-a)--archive'}"[Immediately archive the entry]" "--ask[Prompt for note via multi-line input]" "--finished[Set finish date to specific date/time]:DATE_STRING:" "--since[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" "--date[Include date]" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" "--from[Start and end times as a date/time range `doing done --from \"1am to 8am\"`]:TIME_RANGE:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--remove)-r','(-r)--remove'}"[Remove @done tag]" {'(--section)-s','(-s)--section'}"[Section]:NAME:" "--for[Set completion date to start date plus interval]:INTERVAL:" {'(--unfinished)-u','(-u)--unfinished'}"[Finish last entry not already marked @done]" )
107
108
  ;;
108
109
  did)
109
- args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" {'(--archive)-a','(-a)--archive'}"[Immediately archive the entry]" "--ask[Prompt for note via multi-line input]" "--finished[Set finish date to specific date/time]:DATE_STRING:" "--started[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" "--date[Include date]" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" "--from[Start and end times as a date/time range `doing done --from \"1am to 8am\"`]:TIME_RANGE:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--remove)-r','(-r)--remove'}"[Remove @done tag]" {'(--section)-s','(-s)--section'}"[Section]:NAME:" "--for[Set completion date to start date plus interval]:INTERVAL:" {'(--unfinished)-u','(-u)--unfinished'}"[Finish last entry not already marked @done]" )
110
+ args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" {'(--archive)-a','(-a)--archive'}"[Immediately archive the entry]" "--ask[Prompt for note via multi-line input]" "--finished[Set finish date to specific date/time]:DATE_STRING:" "--since[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" "--date[Include date]" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" "--from[Start and end times as a date/time range `doing done --from \"1am to 8am\"`]:TIME_RANGE:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--remove)-r','(-r)--remove'}"[Remove @done tag]" {'(--section)-s','(-s)--section'}"[Section]:NAME:" "--for[Set completion date to start date plus interval]:INTERVAL:" {'(--unfinished)-u','(-u)--unfinished'}"[Finish last entry not already marked @done]" )
110
111
  ;;
111
112
  finish)
112
113
  args=( {'(--archive)-a','(-a)--archive'}"[Archive entries]" "--finished[Set finish date to specific date/time]:DATE_STRING:" "--auto[Auto-generate finish dates from next entry's start time]" "--started[Backdate completed date to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" "--bool[Boolean used to combine multiple tags]:BOOLEAN:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" "--date[Include date]" "--from[Start and end times as a date/time range `doing done --from \"1am to 8am\"`]:TIME_RANGE:" {'(--interactive)-i','(-i)--interactive'}"[Select item(s) to finish from a menu of matching entries]" "--not[Finish items that *don't* match search/tag filters]" {'(--remove)-r','(-r)--remove'}"[Remove @done tag]" {'(--section)-s','(-s)--section'}"[Section]:NAME:" "--search[Filter entries using a search query]:QUERY:" "--for[Set completion date to start date plus interval]:INTERVAL:" "--tag[Filter entries by tag]:TAG:" {'(--unfinished)-u','(-u)--unfinished'}"[Finish last entry]" "--update[Overwrite existing @done tag with new date]" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
@@ -126,6 +127,9 @@ function _doing() {
126
127
  last)
127
128
  args=( "--bool[Boolean used to combine multiple tags]:BOOLEAN:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" "--config_template[Output using a template from configuration]:TEMPLATE_KEY:" {'(--delete)-d','(-d)--delete'}"[Delete the last entry]" "--duration[Show elapsed time if entry is not tagged @done]" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--hilite)-h','(-h)--hilite'}"[Highlight search matches in output]" "--not[Show items that *don't* match search/tag filters]" {'(--output)-o','(-o)--output'}"[Output to export format]:FORMAT:" {'(--section)-s','(-s)--section'}"[Specify a section]:NAME:" "--save[Save all current command line options as a new view]:VIEW_NAME:" "--search[Filter entries using a search query]:QUERY:" "--tag[Filter entries by tag]:TAG:" "--template[Override output format with a template string containing %placeholders]:TEMPLATE_STRING:" "--title[Title string to be used for output formats that require it]:TITLE:" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
128
129
  ;;
130
+ later)
131
+ args=( "--ask[Prompt for note via multi-line input]" "--started[Backdate start time to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--note)-n','(-n)--note'}"[Note]:TEXT:" )
132
+ ;;
129
133
  mark)
130
134
  args=( "--bool[Boolean used to combine multiple tags]:BOOLEAN:" {'(--count)-c','(-c)--count'}"[How many recent entries to tag]:COUNT:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" {'(--date)-d','(-d)--date'}"[Include current date/time with tag]" "--force[Don't ask permission to flag all entries when count is 0]" {'(--interactive)-i','(-i)--interactive'}"[Select item(s) to flag from a menu of matching entries]" "--not[Flag items that *don't* match search/tag filters]" {'(--remove)-r','(-r)--remove'}"[Remove flag]" {'(--section)-s','(-s)--section'}"[Section]:SECTION_NAME:" "--search[Filter entries using a search query]:QUERY:" "--tag[Filter entries by tag]:TAG:" {'(--unfinished)-u','(-u)--unfinished'}"[Flag last entry]" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
131
135
  ;;
@@ -133,16 +137,16 @@ function _doing() {
133
137
  args=( "--bool[Boolean used to combine multiple tags]:BOOLEAN:" {'(--count)-c','(-c)--count'}"[How many recent entries to tag]:COUNT:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" {'(--date)-d','(-d)--date'}"[Include current date/time with tag]" "--force[Don't ask permission to flag all entries when count is 0]" {'(--interactive)-i','(-i)--interactive'}"[Select item(s) to flag from a menu of matching entries]" "--not[Flag items that *don't* match search/tag filters]" {'(--remove)-r','(-r)--remove'}"[Remove flag]" {'(--section)-s','(-s)--section'}"[Section]:SECTION_NAME:" "--search[Filter entries using a search query]:QUERY:" "--tag[Filter entries by tag]:TAG:" {'(--unfinished)-u','(-u)--unfinished'}"[Flag last entry]" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
134
138
  ;;
135
139
  meanwhile)
136
- args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" {'(--archive)-a','(-a)--archive'}"[Archive previous @meanwhile entry]" "--ask[Prompt for note via multi-line input]" "--started[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--section)-s','(-s)--section'}"[Section]:NAME:" )
140
+ args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" {'(--archive)-a','(-a)--archive'}"[Archive previous @meanwhile entry]" "--ask[Prompt for note via multi-line input]" "--since[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--section)-s','(-s)--section'}"[Section]:NAME:" )
137
141
  ;;
138
142
  note)
139
143
  args=( "--ask[Prompt for note via multi-line input]" "--bool[Boolean used to combine multiple tags]:BOOLEAN:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--interactive)-i','(-i)--interactive'}"[Select item for new note from a menu of matching entries]" "--not[Note items that *don't* match search/tag filters]" {'(--remove)-r','(-r)--remove'}"[Replace/Remove last entry's note]" {'(--section)-s','(-s)--section'}"[Section]:NAME:" "--search[Filter entries using a search query]:QUERY:" "--tag[Filter entries by tag]:TAG:" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
140
144
  ;;
141
145
  now)
142
- args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" "--ask[Prompt for note via multi-line input]" "--started[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--finish_last)-f','(-f)--finish_last'}"[Timed entry]" "--from[Set a start and optionally end time as a date range]:TIME_RANGE:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--section)-s','(-s)--section'}"[Section]:NAME:" )
146
+ args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" "--ask[Prompt for note via multi-line input]" "--since[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--finish_last)-f','(-f)--finish_last'}"[Timed entry]" "--from[Set a start and optionally end time as a date range]:TIME_RANGE:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--section)-s','(-s)--section'}"[Section]:NAME:" )
143
147
  ;;
144
148
  next)
145
- args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" "--ask[Prompt for note via multi-line input]" "--started[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--finish_last)-f','(-f)--finish_last'}"[Timed entry]" "--from[Set a start and optionally end time as a date range]:TIME_RANGE:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--section)-s','(-s)--section'}"[Section]:NAME:" )
149
+ args=( {'(--noauto)-X','(-X)--noauto'}"[Exclude auto tags and default tags]" "--ask[Prompt for note via multi-line input]" "--since[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]:DATE_STRING:" {'(--editor)-e','(-e)--editor'}"[Edit entry with vim]" {'(--finish_last)-f','(-f)--finish_last'}"[Timed entry]" "--from[Set a start and optionally end time as a date range]:TIME_RANGE:" {'(--note)-n','(-n)--note'}"[Include a note]:TEXT:" {'(--section)-s','(-s)--section'}"[Section]:NAME:" )
146
150
  ;;
147
151
  on)
148
152
  args=( "--after[View entries after specified time]:TIME_STRING:" "--before[View entries before specified time]:TIME_STRING:" "--bool[Boolean used to combine multiple tags]:BOOLEAN:" "--case[Case sensitivity for search string matching [(c)ase-sensitive]:TYPE:" "--config_template[Output using a template from configuration]:TEMPLATE_KEY:" "--duration[Show elapsed time on entries without @done tag]" "--from[Time range to show `doing on --from \"12pm to 4pm\"`]:TIME_RANGE:" "--not[Show items that *don't* match search/tag filters]" {'(--output)-o','(-o)--output'}"[Output to export format]:FORMAT:" "--only_timed[Only show items with recorded time intervals]" {'(--section)-s','(-s)--section'}"[Section]:NAME:" "--save[Save all current command line options as a new view]:VIEW_NAME:" "--search[Filter entries using a search query]:QUERY:" {'(--times)-t','(-t)--times'}"[Show time intervals on @done tasks]" "--tag[Filter entries by tag]:TAG:" "--tag_order[Tag sort direction]:DIRECTION:" "--tag_sort[Sort tags by]:KEY:" "--template[Override output format with a template string containing %placeholders]:TEMPLATE_STRING:" "--title[Title string to be used for output formats that require it]:TITLE:" "--totals[Show time totals at the end of output]" "--val[Perform a tag value query]:QUERY:" {'(--exact)-x','(-x)--exact'}"[Force exact search string matching]" )
@@ -1,9 +1,9 @@
1
1
  _doing_again() {
2
2
 
3
3
  if [[ "$token" == --* ]]; then
4
- COMPREPLY=( $( compgen -W '--noauto --ask --started --bool --case --editor --interactive --in --note --not --section --search --tag --val --exact' -- $token ) )
4
+ COMPREPLY=( $( compgen -W '--noauto --ask --since --bool --case --editor --interactive --in --note --not --section --search --tag --val --exact' -- $token ) )
5
5
  elif [[ "$token" == -* ]]; then
6
- COMPREPLY=( $( compgen -W '-X -e -i -n -s -x --noauto --ask --started --bool --case --editor --interactive --in --note --not --section --search --tag --val --exact' -- $token ) )
6
+ COMPREPLY=( $( compgen -W '-X -e -i -n -s -x --noauto --ask --since --bool --case --editor --interactive --in --note --not --section --search --tag --val --exact' -- $token ) )
7
7
 
8
8
  fi
9
9
  }
@@ -91,9 +91,9 @@ _doing_config() {
91
91
  _doing_done() {
92
92
 
93
93
  if [[ "$token" == --* ]]; then
94
- COMPREPLY=( $( compgen -W '--noauto --archive --ask --finished --started --date --editor --from --note --remove --section --for --unfinished' -- $token ) )
94
+ COMPREPLY=( $( compgen -W '--noauto --archive --ask --finished --since --date --editor --from --note --remove --section --for --unfinished' -- $token ) )
95
95
  elif [[ "$token" == -* ]]; then
96
- COMPREPLY=( $( compgen -W '-X -a -e -n -r -s -u --noauto --archive --ask --finished --started --date --editor --from --note --remove --section --for --unfinished' -- $token ) )
96
+ COMPREPLY=( $( compgen -W '-X -a -e -n -r -s -u --noauto --archive --ask --finished --since --date --editor --from --note --remove --section --for --unfinished' -- $token ) )
97
97
 
98
98
  fi
99
99
  }
@@ -148,6 +148,16 @@ _doing_last() {
148
148
  fi
149
149
  }
150
150
 
151
+ _doing_later() {
152
+
153
+ if [[ "$token" == --* ]]; then
154
+ COMPREPLY=( $( compgen -W '--ask --started --editor --note' -- $token ) )
155
+ elif [[ "$token" == -* ]]; then
156
+ COMPREPLY=( $( compgen -W '-e -n --ask --started --editor --note' -- $token ) )
157
+
158
+ fi
159
+ }
160
+
151
161
  _doing_mark() {
152
162
 
153
163
  if [[ "$token" == --* ]]; then
@@ -161,9 +171,9 @@ _doing_mark() {
161
171
  _doing_meanwhile() {
162
172
 
163
173
  if [[ "$token" == --* ]]; then
164
- COMPREPLY=( $( compgen -W '--noauto --archive --ask --started --editor --note --section' -- $token ) )
174
+ COMPREPLY=( $( compgen -W '--noauto --archive --ask --since --editor --note --section' -- $token ) )
165
175
  elif [[ "$token" == -* ]]; then
166
- COMPREPLY=( $( compgen -W '-X -a -e -n -s --noauto --archive --ask --started --editor --note --section' -- $token ) )
176
+ COMPREPLY=( $( compgen -W '-X -a -e -n -s --noauto --archive --ask --since --editor --note --section' -- $token ) )
167
177
 
168
178
  fi
169
179
  }
@@ -181,9 +191,9 @@ _doing_note() {
181
191
  _doing_now() {
182
192
 
183
193
  if [[ "$token" == --* ]]; then
184
- COMPREPLY=( $( compgen -W '--noauto --ask --started --editor --finish_last --from --note --section' -- $token ) )
194
+ COMPREPLY=( $( compgen -W '--noauto --ask --since --editor --finish_last --from --note --section' -- $token ) )
185
195
  elif [[ "$token" == -* ]]; then
186
- COMPREPLY=( $( compgen -W '-X -e -f -n -s --noauto --ask --started --editor --finish_last --from --note --section' -- $token ) )
196
+ COMPREPLY=( $( compgen -W '-X -e -f -n -s --noauto --ask --since --editor --finish_last --from --note --section' -- $token ) )
187
197
 
188
198
  fi
189
199
  }
@@ -456,6 +466,7 @@ _doing()
456
466
  elif [[ $last =~ (help) ]]; then _doing_help
457
467
  elif [[ $last =~ (import) ]]; then _doing_import
458
468
  elif [[ $last =~ (last) ]]; then _doing_last
469
+ elif [[ $last =~ (later) ]]; then _doing_later
459
470
  elif [[ $last =~ (mark|flag) ]]; then _doing_mark
460
471
  elif [[ $last =~ (meanwhile) ]]; then _doing_meanwhile
461
472
  elif [[ $last =~ (note) ]]; then _doing_note
@@ -150,6 +150,7 @@ complete -xc doing -n '__fish_doing_needs_command' -a 'grep search' -d Search\ f
150
150
  complete -xc doing -n '__fish_doing_needs_command' -a 'help' -d Shows\ a\ list\ of\ commands\ or\ help\ for\ one\ command
151
151
  complete -xc doing -n '__fish_doing_needs_command' -a 'import' -d Import\ entries\ from\ an\ external\ source
152
152
  complete -xc doing -n '__fish_doing_needs_command' -a 'last' -d Show\ the\ last\ entry
153
+ complete -xc doing -n '__fish_doing_needs_command' -a 'later' -d Add\ an\ item\ to\ the\ Later\ section
153
154
  complete -xc doing -n '__fish_doing_needs_command' -a 'mark flag' -d Mark\ last\ entry\ as\ flagged
154
155
  complete -xc doing -n '__fish_doing_needs_command' -a 'meanwhile' -d Finish\ any\ running\ @meanwhile\ tasks\ and\ optionally\ create\ a\ new\ one
155
156
  complete -xc doing -n '__fish_doing_needs_command' -a 'note' -d Add\ a\ note\ to\ the\ last\ entry
@@ -179,7 +180,7 @@ complete -xc doing -n '__fish_doing_needs_command' -a 'wiki' -d Output\ a\ tag\
179
180
  complete -xc doing -n '__fish_doing_needs_command' -a 'yesterday' -d List\ entries\ from\ yesterday
180
181
  complete -c doing -l noauto -s X -f -n '__fish_doing_using_command again resume' -d Exclude\ auto\ tags\ and\ default\ tags
181
182
  complete -c doing -l ask -f -n '__fish_doing_using_command again resume' -d Prompt\ for\ note\ via\ multi-line\ input
182
- complete -c doing -l started -f -r -n '__fish_doing_using_command again resume' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
183
+ complete -c doing -l since -f -r -n '__fish_doing_using_command again resume' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
183
184
  complete -c doing -l bool -f -r -n '__fish_doing_using_command again resume' -d Boolean\ used\ to\ combine\ multiple\ tags
184
185
  complete -c doing -l case -f -r -n '__fish_doing_using_command again resume' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
185
186
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command again resume' -d Edit\ entry\ with\ vim
@@ -241,7 +242,7 @@ complete -c doing -l noauto -s X -f -n '__fish_doing_using_command done did' -d
241
242
  complete -c doing -l archive -s a -f -n '__fish_doing_using_command done did' -d Immediately\ archive\ the\ entry
242
243
  complete -c doing -l ask -f -n '__fish_doing_using_command done did' -d Prompt\ for\ note\ via\ multi-line\ input
243
244
  complete -c doing -l finished -f -r -n '__fish_doing_using_command done did' -d Set\ finish\ date\ to\ specific\ date/time
244
- complete -c doing -l started -f -r -n '__fish_doing_using_command done did' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
245
+ complete -c doing -l since -f -r -n '__fish_doing_using_command done did' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
245
246
  complete -c doing -l date -f -n '__fish_doing_using_command done did' -d Include\ date
246
247
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command done did' -d Edit\ entry\ with\ vim
247
248
  complete -c doing -l from -f -r -n '__fish_doing_using_command done did' -d Start\ and\ end\ times\ as\ a\ date/time\ range\ \`doing\ done\ --from\ \"1am\ to\ 8am\"\`
@@ -326,6 +327,10 @@ complete -c doing -l template -f -r -n '__fish_doing_using_command last' -d Ove
326
327
  complete -c doing -l title -f -r -n '__fish_doing_using_command last' -d Title\ string\ to\ be\ used\ for\ output\ formats\ that\ require\ it
327
328
  complete -c doing -l val -f -r -n '__fish_doing_using_command last' -d Perform\ a\ tag\ value\ query
328
329
  complete -c doing -l exact -s x -f -n '__fish_doing_using_command last' -d Force\ exact\ search\ string\ matching
330
+ complete -c doing -l ask -f -n '__fish_doing_using_command later' -d Prompt\ for\ note\ via\ multi-line\ input
331
+ complete -c doing -l started -f -r -n '__fish_doing_using_command later' -d Backdate\ start\ time\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
332
+ complete -c doing -l editor -s e -f -n '__fish_doing_using_command later' -d Edit\ entry\ with\ vim
333
+ complete -c doing -l note -s n -f -r -n '__fish_doing_using_command later' -d Note
329
334
  complete -c doing -l bool -f -r -n '__fish_doing_using_command mark flag' -d Boolean\ used\ to\ combine\ multiple\ tags
330
335
  complete -c doing -l count -s c -f -r -n '__fish_doing_using_command mark flag' -d How\ many\ recent\ entries\ to\ tag
331
336
  complete -c doing -l case -f -r -n '__fish_doing_using_command mark flag' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
@@ -343,7 +348,7 @@ complete -c doing -l exact -s x -f -n '__fish_doing_using_command mark flag' -d
343
348
  complete -c doing -l noauto -s X -f -n '__fish_doing_using_command meanwhile' -d Exclude\ auto\ tags\ and\ default\ tags
344
349
  complete -c doing -l archive -s a -f -n '__fish_doing_using_command meanwhile' -d Archive\ previous\ @meanwhile\ entry
345
350
  complete -c doing -l ask -f -n '__fish_doing_using_command meanwhile' -d Prompt\ for\ note\ via\ multi-line\ input
346
- complete -c doing -l started -f -r -n '__fish_doing_using_command meanwhile' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
351
+ complete -c doing -l since -f -r -n '__fish_doing_using_command meanwhile' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
347
352
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command meanwhile' -d Edit\ entry\ with\ vim
348
353
  complete -c doing -l note -s n -f -r -n '__fish_doing_using_command meanwhile' -d Include\ a\ note
349
354
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command meanwhile' -d Section
@@ -361,7 +366,7 @@ complete -c doing -l val -f -r -n '__fish_doing_using_command note' -d Perform\
361
366
  complete -c doing -l exact -s x -f -n '__fish_doing_using_command note' -d Force\ exact\ search\ string\ matching
362
367
  complete -c doing -l noauto -s X -f -n '__fish_doing_using_command now next' -d Exclude\ auto\ tags\ and\ default\ tags
363
368
  complete -c doing -l ask -f -n '__fish_doing_using_command now next' -d Prompt\ for\ note\ via\ multi-line\ input
364
- complete -c doing -l started -f -r -n '__fish_doing_using_command now next' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
369
+ complete -c doing -l since -f -r -n '__fish_doing_using_command now next' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
365
370
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command now next' -d Edit\ entry\ with\ vim
366
371
  complete -c doing -l finish_last -s f -f -n '__fish_doing_using_command now next' -d Timed\ entry
367
372
  complete -c doing -l from -f -r -n '__fish_doing_using_command now next' -d Set\ a\ start\ and\ optionally\ end\ time\ as\ a\ date\ range
@@ -19,7 +19,7 @@ const completionSpec: Fig.Spec = {
19
19
  },
20
20
 
21
21
  {
22
- name: ["--started"],
22
+ name: ["--since"],
23
23
  description: "Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]",
24
24
  args: {
25
25
  name: "DATE_STRING",
@@ -153,7 +153,7 @@ const completionSpec: Fig.Spec = {
153
153
  },
154
154
 
155
155
  {
156
- name: ["--started"],
156
+ name: ["--since"],
157
157
  description: "Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]",
158
158
  args: {
159
159
  name: "DATE_STRING",
@@ -947,7 +947,7 @@ const completionSpec: Fig.Spec = {
947
947
  },
948
948
 
949
949
  {
950
- name: ["--started"],
950
+ name: ["--since"],
951
951
  description: "Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]",
952
952
  args: {
953
953
  name: "DATE_STRING",
@@ -1057,7 +1057,7 @@ const completionSpec: Fig.Spec = {
1057
1057
  },
1058
1058
 
1059
1059
  {
1060
- name: ["--started"],
1060
+ name: ["--since"],
1061
1061
  description: "Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]",
1062
1062
  args: {
1063
1063
  name: "DATE_STRING",
@@ -2023,6 +2023,46 @@ const completionSpec: Fig.Spec = {
2023
2023
 
2024
2024
  },
2025
2025
 
2026
+ {
2027
+ name: "later",
2028
+ description: "Add an item to the Later section",
2029
+ options: [
2030
+ {
2031
+ name: ["--ask"],
2032
+ description: "Prompt for note via multi-line input",
2033
+
2034
+ },
2035
+
2036
+ {
2037
+ name: ["--started"],
2038
+ description: "Backdate start time to date string [4pm|20m|2h|yesterday noon]",
2039
+ args: {
2040
+ name: "DATE_STRING",
2041
+ description: "DATE_STRING",
2042
+ },
2043
+
2044
+ },
2045
+
2046
+ {
2047
+ name: ["-e", "--editor"],
2048
+ description: "Edit entry with vim",
2049
+
2050
+ },
2051
+
2052
+ {
2053
+ name: ["-n", "--note"],
2054
+ description: "Note",
2055
+ args: {
2056
+ name: "TEXT",
2057
+ description: "TEXT",
2058
+ },
2059
+
2060
+ },
2061
+
2062
+ ],
2063
+
2064
+ },
2065
+
2026
2066
  {
2027
2067
  name: "mark",
2028
2068
  description: "Mark last entry as flagged",
@@ -2286,7 +2326,7 @@ const completionSpec: Fig.Spec = {
2286
2326
  },
2287
2327
 
2288
2328
  {
2289
- name: ["--started"],
2329
+ name: ["--since"],
2290
2330
  description: "Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]",
2291
2331
  args: {
2292
2332
  name: "DATE_STRING",
@@ -2446,7 +2486,7 @@ const completionSpec: Fig.Spec = {
2446
2486
  },
2447
2487
 
2448
2488
  {
2449
- name: ["--started"],
2489
+ name: ["--since"],
2450
2490
  description: "Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]",
2451
2491
  args: {
2452
2492
  name: "DATE_STRING",
@@ -2518,7 +2558,7 @@ const completionSpec: Fig.Spec = {
2518
2558
  },
2519
2559
 
2520
2560
  {
2521
- name: ["--started"],
2561
+ name: ["--since"],
2522
2562
  description: "Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]",
2523
2563
  args: {
2524
2564
  name: "DATE_STRING",
@@ -80,7 +80,7 @@ def add_options(type, cmd, default_template: 'default')
80
80
 
81
81
  cmd.desc 'Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]'
82
82
  cmd.arg_name 'DATE_STRING'
83
- cmd.flag %i[b back started], type: DateBeginString
83
+ cmd.flag %i[b back started since], type: DateBeginString
84
84
  when :finish_entry
85
85
  cmd.desc %(Set finish date to specific date/time (natural langauge parsed, e.g. --at=1:30pm).
86
86
  Used with --took, backdates start date)
@@ -26,6 +26,26 @@ module Doing
26
26
  replace normalize_tag_sort(default)
27
27
  end
28
28
 
29
+ ##
30
+ ## Normalize list output style
31
+ ##
32
+ ## @param default The default
33
+ ##
34
+ ## @return [Symbol] :comma, :column, :tab, :space
35
+ ##
36
+ def normalize_list_style(default = :space)
37
+ case self
38
+ when /^com/i
39
+ :comma
40
+ when /^c/i
41
+ :column
42
+ when /^t/i
43
+ :tab
44
+ else
45
+ :space
46
+ end
47
+ end
48
+
29
49
  ##
30
50
  ## Convert an age string to a qualified type
31
51
  ##
@@ -17,7 +17,7 @@ module Doing
17
17
  def choose_from(options, prompt: 'Make a selection: ', multiple: false, sorted: true, fzf_args: [])
18
18
  return nil unless $stdout.isatty
19
19
 
20
- # fzf_args << '-1' # User is expecting a menu, and even if only one it seves as confirmation
20
+ # fzf_args << '-1' # User is expecting a menu, and even if only one it serves as confirmation
21
21
  default_args = []
22
22
  default_args << %(--prompt="#{prompt}")
23
23
  default_args << "--height=#{options.count + 2}"
data/lib/doing/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Doing
2
- VERSION = '2.1.68'
2
+ VERSION = '2.1.72'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: doing
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.68
4
+ version: 2.1.72
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-08 00:00:00.000000000 Z
11
+ date: 2023-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: github-markup