doing 2.1.68 → 2.1.72
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +28 -0
- data/Gemfile.lock +3 -3
- data/README.md +2 -2
- data/bin/commands/commands.rb +57 -2
- data/docs/doc/Array.html +1 -1
- data/docs/doc/BooleanTermParser/Clause.html +1 -1
- data/docs/doc/BooleanTermParser/Operator.html +1 -1
- data/docs/doc/BooleanTermParser/Query.html +1 -1
- data/docs/doc/BooleanTermParser/QueryParser.html +1 -1
- data/docs/doc/BooleanTermParser/QueryTransformer.html +1 -1
- data/docs/doc/BooleanTermParser.html +1 -1
- data/docs/doc/Doing/ArrayCleanup.html +1 -1
- data/docs/doc/Doing/ArrayNestedHash.html +1 -1
- data/docs/doc/Doing/ArrayTags.html +1 -1
- data/docs/doc/Doing/CSVExport.html +1 -1
- data/docs/doc/Doing/CalendarImport.html +1 -1
- data/docs/doc/Doing/Change.html +1 -1
- data/docs/doc/Doing/Changes.html +1 -1
- data/docs/doc/Doing/ChronifyArray.html +1 -1
- data/docs/doc/Doing/ChronifyNumeric.html +1 -1
- data/docs/doc/Doing/ChronifyString.html +1 -1
- data/docs/doc/Doing/Color.html +1 -1
- data/docs/doc/Doing/Completion/BashCompletions.html +1 -1
- data/docs/doc/Doing/Completion/FigCompletions.html +1 -1
- data/docs/doc/Doing/Completion/FishCompletions.html +1 -1
- data/docs/doc/Doing/Completion/StringUtils.html +1 -1
- data/docs/doc/Doing/Completion/ZshCompletions.html +1 -1
- data/docs/doc/Doing/Completion.html +1 -1
- data/docs/doc/Doing/Configuration.html +1 -1
- data/docs/doc/Doing/DayOneRenderer.html +1 -1
- data/docs/doc/Doing/DayoneExport.html +1 -1
- data/docs/doc/Doing/DoingExport.html +1 -1
- data/docs/doc/Doing/DoingImport.html +1 -1
- data/docs/doc/Doing/Entry.html +1 -1
- data/docs/doc/Doing/Errors/DoingNoTraceError.html +1 -1
- data/docs/doc/Doing/Errors/DoingRuntimeError.html +1 -1
- data/docs/doc/Doing/Errors/DoingStandardError.html +1 -1
- data/docs/doc/Doing/Errors/EmptyInput.html +1 -1
- data/docs/doc/Doing/Errors/HistoryLimitError.html +1 -1
- data/docs/doc/Doing/Errors/InvalidPlugin.html +1 -1
- data/docs/doc/Doing/Errors/MissingBackupFile.html +1 -1
- data/docs/doc/Doing/Errors/NoResults.html +1 -1
- data/docs/doc/Doing/Errors/PluginException.html +1 -1
- data/docs/doc/Doing/Errors/UserCancelled.html +1 -1
- data/docs/doc/Doing/Errors/WrongCommand.html +1 -1
- data/docs/doc/Doing/Errors.html +1 -1
- data/docs/doc/Doing/HTMLExport.html +1 -1
- data/docs/doc/Doing/Hooks.html +1 -1
- data/docs/doc/Doing/Item.html +1 -1
- data/docs/doc/Doing/ItemDates.html +1 -1
- data/docs/doc/Doing/ItemQuery.html +1 -1
- data/docs/doc/Doing/ItemState.html +1 -1
- data/docs/doc/Doing/ItemTags.html +1 -1
- data/docs/doc/Doing/Items.html +1 -1
- data/docs/doc/Doing/JSONExport.html +1 -1
- data/docs/doc/Doing/JSONImport.html +1 -1
- data/docs/doc/Doing/Logger.html +1 -1
- data/docs/doc/Doing/MarkdownExport.html +1 -1
- data/docs/doc/Doing/Note.html +1 -1
- data/docs/doc/Doing/Pager.html +1 -1
- data/docs/doc/Doing/Plugins.html +1 -1
- data/docs/doc/Doing/Prompt.html +1 -1
- data/docs/doc/Doing/PromptChoose.html +1 -1
- data/docs/doc/Doing/PromptFZF.html +1 -1
- data/docs/doc/Doing/PromptInput.html +1 -1
- data/docs/doc/Doing/PromptSTD.html +1 -1
- data/docs/doc/Doing/PromptYN.html +1 -1
- data/docs/doc/Doing/Section.html +1 -1
- data/docs/doc/Doing/StringHighlight.html +1 -1
- data/docs/doc/Doing/StringNormalize.html +84 -1
- data/docs/doc/Doing/StringQuery.html +1 -1
- data/docs/doc/Doing/StringTags.html +1 -1
- data/docs/doc/Doing/StringTransform.html +1 -1
- data/docs/doc/Doing/StringTruncate.html +1 -1
- data/docs/doc/Doing/StringURL.html +1 -1
- data/docs/doc/Doing/SymbolNormalize.html +1 -1
- data/docs/doc/Doing/TaskPaperExport.html +1 -1
- data/docs/doc/Doing/TemplateExport.html +1 -1
- data/docs/doc/Doing/TemplateString.html +2 -2
- data/docs/doc/Doing/TimingImport.html +1 -1
- data/docs/doc/Doing/Types.html +1 -1
- data/docs/doc/Doing/Util/Backup.html +1 -1
- data/docs/doc/Doing/Util.html +1 -1
- data/docs/doc/Doing/Version.html +1 -1
- data/docs/doc/Doing/WWID.html +1 -1
- data/docs/doc/Doing.html +2 -2
- data/docs/doc/FalseClass.html +1 -1
- data/docs/doc/GLI/Commands/Help.html +1 -1
- data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +1 -1
- data/docs/doc/GLI/Commands.html +1 -1
- data/docs/doc/GLI.html +1 -1
- data/docs/doc/Hash.html +1 -1
- data/docs/doc/Numeric.html +1 -1
- data/docs/doc/Object.html +1 -1
- data/docs/doc/PhraseParser/Operator.html +1 -1
- data/docs/doc/PhraseParser/PhraseClause.html +1 -1
- data/docs/doc/PhraseParser/Query.html +1 -1
- data/docs/doc/PhraseParser/QueryParser.html +1 -1
- data/docs/doc/PhraseParser/QueryTransformer.html +1 -1
- data/docs/doc/PhraseParser/TermClause.html +1 -1
- data/docs/doc/PhraseParser.html +1 -1
- data/docs/doc/Status.html +1 -1
- data/docs/doc/String.html +2 -2
- data/docs/doc/Symbol.html +1 -1
- data/docs/doc/Time.html +1 -1
- data/docs/doc/TrueClass.html +1 -1
- data/docs/doc/_index.html +1 -1
- data/docs/doc/file.README.html +3 -3
- data/docs/doc/index.html +3 -3
- data/docs/doc/method_list.html +417 -409
- data/docs/doc/top-level-namespace.html +1 -1
- data/doing.gemspec +0 -1
- data/doing.rdoc +54 -7
- data/lib/completion/_doing.zsh +11 -7
- data/lib/completion/doing.bash +19 -8
- data/lib/completion/doing.fish +9 -4
- data/lib/completion/doing.ts +47 -7
- data/lib/doing/add_options.rb +1 -1
- data/lib/doing/normalize.rb +20 -0
- data/lib/doing/prompt/choose.rb +1 -1
- data/lib/doing/version.rb +1 -1
- metadata +2 -2
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
</div>
|
|
217
217
|
|
|
218
218
|
<div id="footer">
|
|
219
|
-
Generated on
|
|
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.
|
|
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>
|
|
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
|
|
data/lib/completion/_doing.zsh
CHANGED
|
@@ -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]" "--
|
|
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]" "--
|
|
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:" "--
|
|
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:" "--
|
|
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]" "--
|
|
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]" "--
|
|
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]" "--
|
|
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]" )
|
data/lib/completion/doing.bash
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
_doing_again() {
|
|
2
2
|
|
|
3
3
|
if [[ "$token" == --* ]]; then
|
|
4
|
-
COMPREPLY=( $( compgen -W '--noauto --ask --
|
|
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 --
|
|
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 --
|
|
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 --
|
|
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 --
|
|
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 --
|
|
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 --
|
|
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 --
|
|
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
|
data/lib/completion/doing.fish
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
data/lib/completion/doing.ts
CHANGED
|
@@ -19,7 +19,7 @@ const completionSpec: Fig.Spec = {
|
|
|
19
19
|
},
|
|
20
20
|
|
|
21
21
|
{
|
|
22
|
-
name: ["--
|
|
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: ["--
|
|
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: ["--
|
|
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: ["--
|
|
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: ["--
|
|
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: ["--
|
|
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: ["--
|
|
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",
|
data/lib/doing/add_options.rb
CHANGED
|
@@ -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)
|
data/lib/doing/normalize.rb
CHANGED
|
@@ -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
|
##
|
data/lib/doing/prompt/choose.rb
CHANGED
|
@@ -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
|
|
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
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.
|
|
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:
|
|
11
|
+
date: 2023-01-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: github-markup
|