doing 2.0.11 → 2.0.13
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 +6 -0
- data/Gemfile.lock +5 -15
- data/README.md +1 -1
- data/Rakefile +2 -0
- data/bin/doing +43 -30
- data/doing.gemspec +2 -1
- data/doing.rdoc +1 -71
- data/lib/completion/_doing.zsh +24 -20
- data/lib/completion/doing.bash +41 -30
- data/lib/completion/doing.fish +50 -1
- data/lib/doing/item.rb +18 -17
- data/lib/doing/version.rb +1 -1
- data/lib/doing.rb +1 -1
- metadata +16 -22
data/lib/completion/_doing.zsh
CHANGED
@@ -16,6 +16,7 @@ function _doing() {
|
|
16
16
|
'cancel:End last X entries with no time tracked'
|
17
17
|
'choose:Select a section to display from a menu'
|
18
18
|
'colors:List available color variables for configuration templates and views'
|
19
|
+
'completion:Generate shell completion scripts'
|
19
20
|
'config:Edit the configuration file or output a value from it'
|
20
21
|
'done:Add a completed item with @done(date)'
|
21
22
|
'did:Add a completed item with @done(date)'
|
@@ -65,22 +66,22 @@ function _doing() {
|
|
65
66
|
args=( )
|
66
67
|
;;
|
67
68
|
again)
|
68
|
-
args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Note]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" )
|
69
|
+
args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Note]" "(--not)--not}[Resume items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" {-x,--exact}"[Force exact search string matching]" )
|
69
70
|
;;
|
70
71
|
resume)
|
71
|
-
args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Note]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" )
|
72
|
+
args=( "(--bool=)--bool=}[Boolean used to combine multiple tags]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit duplicated entry with vim before adding]" {-i,--interactive}"[Select item to resume from a menu of matching entries]" "(--in=)--in=}[Add new entry to section]" {-n,--note=}"[Note]" "(--not)--not}[Resume items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Get last entry from a specific section]" "(--search=)--search=}[Repeat last entry matching search]" "(--tag=)--tag=}[Repeat last entry matching tags]" {-x,--exact}"[Force exact search string matching]" )
|
72
73
|
;;
|
73
74
|
archive)
|
74
|
-
args=( "(--before=)--before=}[Archive entries older than date]" "(--bool=)--bool=}[Tag boolean]" {-k,--keep=}"[How many items to keep]" "(--label)--label}[Label moved items with @from(SECTION_NAME)]" "(--search=)--search=}[Search filter]" {-t,--to=}"[Move entries to]" "(--tag=)--tag=}[Tag filter]" )
|
75
|
+
args=( "(--before=)--before=}[Archive entries older than date]" "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-k,--keep=}"[How many items to keep]" "(--label)--label}[Label moved items with @from(SECTION_NAME)]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" "(--search=)--search=}[Search filter]" {-t,--to=}"[Move entries to]" "(--tag=)--tag=}[Tag filter]" {-x,--exact}"[Force exact search string matching]" )
|
75
76
|
;;
|
76
77
|
move)
|
77
|
-
args=( "(--before=)--before=}[Archive entries older than date]" "(--bool=)--bool=}[Tag boolean]" {-k,--keep=}"[How many items to keep]" "(--label)--label}[Label moved items with @from(SECTION_NAME)]" "(--search=)--search=}[Search filter]" {-t,--to=}"[Move entries to]" "(--tag=)--tag=}[Tag filter]" )
|
78
|
+
args=( "(--before=)--before=}[Archive entries older than date]" "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-k,--keep=}"[How many items to keep]" "(--label)--label}[Label moved items with @from(SECTION_NAME)]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" "(--search=)--search=}[Search filter]" {-t,--to=}"[Move entries to]" "(--tag=)--tag=}[Tag filter]" {-x,--exact}"[Force exact search string matching]" )
|
78
79
|
;;
|
79
80
|
autotag)
|
80
81
|
args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to autotag]" "(--force)--force}[Dont ask permission to autotag all entries when count is 0t ask permission to autotag all entries when count is 0]" {-i,--interactive}"[Select item(s) to tag from a menu of matching entries]" {-s,--section=}"[Section]" "(--search=)--search=}[Autotag entries matching search filter]" "(--tag=)--tag=}[Autotag the last X entries containing TAG]" {-u,--unfinished}"[Autotag last entry]" )
|
81
82
|
;;
|
82
83
|
cancel)
|
83
|
-
args=( {-a,--archive}"[Archive entries]" "(--bool=)--bool=}[Boolean]" {-i,--interactive}"[Select item(s) to cancel from a menu of matching entries]" {-s,--section=}"[Section]" "(--tag=)--tag=}[Cancel the last X entries containing TAG]" {-u,--unfinished}"[Cancel last entry]" )
|
84
|
+
args=( {-a,--archive}"[Archive entries]" "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select item(s) to cancel from a menu of matching entries]" "(--not)--not}[Finish items that *dont* match search/tag filterst* match search/tag filters]" {-s,--section=}"[Section]" "(--search=)--search=}[Cancel the last X entries matching search filter]" "(--tag=)--tag=}[Cancel the last X entries containing TAG]" {-u,--unfinished}"[Cancel last entry]" {-x,--exact}"[Force exact search string matching]" )
|
84
85
|
;;
|
85
86
|
choose)
|
86
87
|
args=( )
|
@@ -88,6 +89,9 @@ function _doing() {
|
|
88
89
|
colors)
|
89
90
|
args=( )
|
90
91
|
;;
|
92
|
+
completion)
|
93
|
+
args=( {-f,--file=}"[File to write output to]" {-t,--type=}"[Shell to generate for]" )
|
94
|
+
;;
|
91
95
|
config)
|
92
96
|
args=( {-d,--dump}"[Show a config key value based on arguments]" {-e,--editor=}"[Editor to use]" {-o,--output=}"[Format for --dump]" {-u,--update}"[Update config file with missing configuration options]" )
|
93
97
|
;;
|
@@ -98,37 +102,37 @@ function _doing() {
|
|
98
102
|
args=( {-a,--archive}"[Immediately archive the entry]" "(--at=)--at=}[Set finish date to specific date/time]" {-b,--back=}"[Backdate start date by interval [4pm|20m|2h|yesterday noon]]" "(--date)--date}[Include date]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Include a note]" {-r,--remove}"[Remove @done tag]" {-s,--section=}"[Section]" {-t,--took=}"[Set completion date to start date plus interval]" {-u,--unfinished}"[Finish last entry not already marked @done]" )
|
99
103
|
;;
|
100
104
|
finish)
|
101
|
-
args=( {-a,--archive}"[Archive entries]" "(--at=)--at=}[Set finish date to specific date/time]" "(--auto)--auto}[Auto-generate finish dates from next entrys start times start time]" {-b,--back=}"[Backdate completed date to date string [4pm|20m|2h|yesterday noon]]" "(--bool=)--bool=}[Boolean]" "(--date)--date}[Include date]" {-i,--interactive}"[Select item(s) to finish from a menu of matching entries]" {-r,--remove}"[Remove done tag]" {-s,--section=}"[Section]" "(--search=)--search=}[Finish the last X entries matching search filter]" {-t,--took=}"[Set the completed date to the start date plus XX[hmd]]" "(--tag=)--tag=}[Finish the last X entries containing TAG]" {-u,--unfinished}"[Finish last entry]" )
|
105
|
+
args=( {-a,--archive}"[Archive entries]" "(--at=)--at=}[Set finish date to specific date/time]" "(--auto)--auto}[Auto-generate finish dates from next entrys start times start time]" {-b,--back=}"[Backdate completed date to date string [4pm|20m|2h|yesterday noon]]" "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--date)--date}[Include date]" {-i,--interactive}"[Select item(s) to finish from a menu of matching entries]" "(--not)--not}[Finish items that *dont* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Remove done tag]" {-s,--section=}"[Section]" "(--search=)--search=}[Finish the last X entries matching search filter]" {-t,--took=}"[Set the completed date to the start date plus XX[hmd]]" "(--tag=)--tag=}[Finish the last X entries containing TAG]" {-u,--unfinished}"[Finish last entry]" {-x,--exact}"[Force exact search string matching]" )
|
102
106
|
;;
|
103
107
|
grep)
|
104
|
-
args=( "(--after=)--after=}[Constrain search to entries newer than date]" "(--before=)--before=}[Constrain search to entries older than date]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
|
108
|
+
args=( "(--after=)--after=}[Constrain search to entries newer than date]" "(--before=)--before=}[Constrain search to entries older than date]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" {-x,--exact}"[Force exact string matching]" )
|
105
109
|
;;
|
106
110
|
search)
|
107
|
-
args=( "(--after=)--after=}[Constrain search to entries newer than date]" "(--before=)--before=}[Constrain search to entries older than date]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
|
111
|
+
args=( "(--after=)--after=}[Constrain search to entries newer than date]" "(--before=)--before=}[Constrain search to entries older than date]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Display an interactive menu of results to perform further operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" {-x,--exact}"[Force exact string matching]" )
|
108
112
|
;;
|
109
113
|
help)
|
110
114
|
args=( )
|
111
115
|
;;
|
112
116
|
import)
|
113
|
-
args=( "(--after=)--after=}[Import entries newer than date]" "(--autotag)--autotag}[Autotag entries]" "(--before=)--before=}[Import entries older than date]" {-f,--from=}"[Date range to import]" "(--only_timed)--only_timed}[Only import items with recorded time intervals]" "(--overlap)--overlap}[Allow entries that overlap existing times]" "(--prefix=)--prefix=}[Prefix entries with]" {-s,--section=}"[Target section]" "(--search=)--search=}[Only import items matching search]" "(--tag=)--tag=}[Tag all imported entries]" "(--type=)--type=}[Import type]" )
|
117
|
+
args=( "(--after=)--after=}[Import entries newer than date]" "(--autotag)--autotag}[Autotag entries]" "(--before=)--before=}[Import entries older than date]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-f,--from=}"[Date range to import]" "(--not)--not}[Import items that *dont* match search/tag/date filterst* match search/tag/date filters]" "(--only_timed)--only_timed}[Only import items with recorded time intervals]" "(--overlap)--overlap}[Allow entries that overlap existing times]" "(--prefix=)--prefix=}[Prefix entries with]" {-s,--section=}"[Target section]" "(--search=)--search=}[Only import items matching search]" "(--tag=)--tag=}[Tag all imported entries]" "(--type=)--type=}[Import type]" {-x,--exact}"[Force exact search string matching]" )
|
114
118
|
;;
|
115
119
|
last)
|
116
|
-
args=( "(--bool=)--bool=}[Tag boolean]" {-e,--editor}"[Edit entry with vim]" {-s,--section=}"[Specify a section]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" )
|
120
|
+
args=( "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit entry with vim]" "(--not)--not}[Show items that *dont* match search string or tag filtert* match search string or tag filter]" {-s,--section=}"[Specify a section]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" {-x,--exact}"[Force exact search string matching]" )
|
117
121
|
;;
|
118
122
|
later)
|
119
123
|
args=( {-b,--back=}"[Backdate start time to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" )
|
120
124
|
;;
|
121
125
|
mark)
|
122
|
-
args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" )
|
126
|
+
args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" "(--not)--not}[Flag items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" {-x,--exact}"[Force exact search string matching]" )
|
123
127
|
;;
|
124
128
|
flag)
|
125
|
-
args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" )
|
129
|
+
args=( "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to flag all entries when count is 0t ask permission to flag all entries when count is 0]" {-i,--interactive}"[Select item(s) to flag from a menu of matching entries]" "(--not)--not}[Flag items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-r,--remove}"[Remove flag]" {-s,--section=}"[Section]" "(--search=)--search=}[Flag the last entry matching search filter]" "(--tag=)--tag=}[Flag the last entry containing TAG]" {-u,--unfinished}"[Flag last entry]" {-x,--exact}"[Force exact search string matching]" )
|
126
130
|
;;
|
127
131
|
meanwhile)
|
128
132
|
args=( {-a,--archive}"[Archive previous @meanwhile entry]" {-b,--back=}"[Backdate start date for new entry to date string [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-n,--note=}"[Note]" {-s,--section=}"[Section]" )
|
129
133
|
;;
|
130
134
|
note)
|
131
|
-
args=( "(--bool=)--bool=}[Boolean]" {-e,--editor}"[Edit entry with vim]" {-i,--interactive}"[Select item for new note from a menu of matching entries]" {-r,--remove}"[Replace/Remove last entrys notes note]" {-s,--section=}"[Section]" "(--search=)--search=}[Add/remove note from last entry matching search filter]" "(--tag=)--tag=}[Add/remove note from last entry matching tag]" )
|
135
|
+
args=( "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-e,--editor}"[Edit entry with vim]" {-i,--interactive}"[Select item for new note from a menu of matching entries]" "(--not)--not}[Add note to item that *doesnt* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Replace/Remove last entrys notes note]" {-s,--section=}"[Section]" "(--search=)--search=}[Add/remove note from last entry matching search filter]" "(--tag=)--tag=}[Add/remove note from last entry matching tag]" {-x,--exact}"[Force exact search string matching]" )
|
132
136
|
;;
|
133
137
|
now)
|
134
138
|
args=( {-b,--back=}"[Backdate start time [4pm|20m|2h|yesterday noon]]" {-e,--editor}"[Edit entry with vim]" {-f,--finish_last}"[Timed entry]" {-n,--note=}"[Include a note]" {-s,--section=}"[Section]" )
|
@@ -149,28 +153,28 @@ function _doing() {
|
|
149
153
|
args=( {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
|
150
154
|
;;
|
151
155
|
reset)
|
152
|
-
args=( "(--bool=)--bool=}[Boolean]" {-i,--interactive}"[Select from a menu of matching entries]" {-r,--resume}"[Resume entry]" {-s,--section=}"[
|
156
|
+
args=( "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select from a menu of matching entries]" "(--not)--not}[Reset items that *dont* match search/tag filterst* match search/tag filters]" {-r,--resume}"[Resume entry]" {-s,--section=}"[Limit search to section]" "(--search=)--search=}[Reset last entry matching search filter]" "(--tag=)--tag=}[Reset last entry matching tag]" {-x,--exact}"[Force exact search string matching]" )
|
153
157
|
;;
|
154
158
|
begin)
|
155
|
-
args=( "(--bool=)--bool=}[Boolean]" {-i,--interactive}"[Select from a menu of matching entries]" {-r,--resume}"[Resume entry]" {-s,--section=}"[
|
159
|
+
args=( "(--bool=)--bool=}[Boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-i,--interactive}"[Select from a menu of matching entries]" "(--not)--not}[Reset items that *dont* match search/tag filterst* match search/tag filters]" {-r,--resume}"[Resume entry]" {-s,--section=}"[Limit search to section]" "(--search=)--search=}[Reset last entry matching search filter]" "(--tag=)--tag=}[Reset last entry matching tag]" {-x,--exact}"[Force exact search string matching]" )
|
156
160
|
;;
|
157
161
|
rotate)
|
158
|
-
args=( "(--before=)--before=}[Rotate entries older than date]" "(--bool=)--bool=}[Tag boolean]" {-k,--keep=}"[How many items to keep in each section]" {-s,--section=}"[Section to rotate]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" )
|
162
|
+
args=( "(--before=)--before=}[Rotate entries older than date]" "(--bool=)--bool=}[Tag boolean]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-k,--keep=}"[How many items to keep in each section]" "(--not)--not}[Rotate items that *dont* match search string or tag filtert* match search string or tag filter]" {-s,--section=}"[Section to rotate]" "(--search=)--search=}[Search filter]" "(--tag=)--tag=}[Tag filter]" {-x,--exact}"[Force exact search string matching]" )
|
159
163
|
;;
|
160
164
|
sections)
|
161
165
|
args=( {-c,--column}"[List in single column]" )
|
162
166
|
;;
|
163
167
|
select)
|
164
|
-
args=( {-a,--archive}"[Archive selected items]" "(--resume)--resume}[Copy selection as a new entry with current time and no @done tag]" {-c,--cancel}"[Cancel selected items]" {-d,--delete}"[Delete selected items]" {-e,--editor}"[Edit selected item(s)]" {-f,--finish}"[Add @done with current time to selected item(s)]" "(--flag)--flag}[Add flag to selected item(s)]" "(--force)--force}[Perform action without confirmation]" {-m,--move=}"[Move selected items to section]" "(--menu)--menu}[Use --no-menu to skip the interactive menu]" {-o,--output=}"[Output entries to format]" "(--search=)--search=}[Initial search query for filtering]" {-r,--remove}"[Reverse -c]" {-s,--section=}"[Select from a specific section]" "(--save_to=)--save_to=}[Save selected entries to file using --output format]" {-t,--tag=}"[Tag selected entries]" )
|
168
|
+
args=( {-a,--archive}"[Archive selected items]" "(--resume)--resume}[Copy selection as a new entry with current time and no @done tag]" {-c,--cancel}"[Cancel selected items]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--delete}"[Delete selected items]" {-e,--editor}"[Edit selected item(s)]" {-f,--finish}"[Add @done with current time to selected item(s)]" "(--flag)--flag}[Add flag to selected item(s)]" "(--force)--force}[Perform action without confirmation]" {-m,--move=}"[Move selected items to section]" "(--menu)--menu}[Use --no-menu to skip the interactive menu]" "(--not)--not}[Select items that *dont* match search/tag filterst* match search/tag filters]" {-o,--output=}"[Output entries to format]" "(--search=)--search=}[Initial search query for filtering]" {-r,--remove}"[Reverse -c]" {-s,--section=}"[Select from a specific section]" "(--save_to=)--save_to=}[Save selected entries to file using --output format]" {-t,--tag=}"[Tag selected entries]" {-x,--exact}"[Force exact search string matching]" )
|
165
169
|
;;
|
166
170
|
show)
|
167
|
-
args=( {-a,--age=}"[Age]" "(--after=)--after=}[View entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[View entries older than date]" {-c,--count=}"[Max count to show]" {-f,--from=}"[Date range to show]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--sort=}"[Sort order]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
|
171
|
+
args=( {-a,--age=}"[Age]" "(--after=)--after=}[View entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[View entries older than date]" {-c,--count=}"[Max count to show]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-f,--from=}"[Date range to show]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" "(--not)--not}[Show items that *dont* match search/tag/date filterst* match search/tag/date filters]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--sort=}"[Sort order]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" {-x,--exact}"[Force exact search string matching]" )
|
168
172
|
;;
|
169
173
|
since)
|
170
174
|
args=( {-o,--output=}"[Output to export format]" {-s,--section=}"[Section]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show time totals at the end of output]" )
|
171
175
|
;;
|
172
176
|
tag)
|
173
|
-
args=( {-a,--autotag}"[Autotag entries based on autotag configuration in ~/]" "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to tag all entries when count is 0t ask permission to tag all entries when count is 0]" {-i,--interactive}"[Select item(s) to tag from a menu of matching entries]" {-r,--remove}"[Remove given tag(s)]" "(--regex)--regex}[Interpret tag string as regular expression]" "(--rename=)--rename=}[Replace existing tag with tag argument]" {-s,--section=}"[Section]" "(--search=)--search=}[Tag entries matching search filter]" "(--tag=)--tag=}[Tag the last X entries containing TAG]" {-u,--unfinished}"[Tag last entry]" )
|
177
|
+
args=( {-a,--autotag}"[Autotag entries based on autotag configuration in ~/]" "(--bool=)--bool=}[Boolean]" {-c,--count=}"[How many recent entries to tag]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" {-d,--date}"[Include current date/time with tag]" "(--force)--force}[Dont ask permission to tag all entries when count is 0t ask permission to tag all entries when count is 0]" {-i,--interactive}"[Select item(s) to tag from a menu of matching entries]" "(--not)--not}[Tag items that *dont* match search/tag filterst* match search/tag filters]" {-r,--remove}"[Remove given tag(s)]" "(--regex)--regex}[Interpret tag string as regular expression]" "(--rename=)--rename=}[Replace existing tag with tag argument]" {-s,--section=}"[Section]" "(--search=)--search=}[Tag entries matching search filter]" "(--tag=)--tag=}[Tag the last X entries containing TAG]" {-u,--unfinished}"[Tag last entry]" {-x,--exact}"[Force exact search string matching]" )
|
174
178
|
;;
|
175
179
|
template)
|
176
180
|
args=( {-l,--list}"[List all available templates]" )
|
@@ -185,7 +189,7 @@ function _doing() {
|
|
185
189
|
args=( {-f,--file=}"[Specify alternate doing file]" )
|
186
190
|
;;
|
187
191
|
view)
|
188
|
-
args=( "(--after=)--after=}[View entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[View entries older than date]" {-c,--count=}"[Count to display]" "(--color)--color}[Include colors in output]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" )
|
192
|
+
args=( "(--after=)--after=}[View entries newer than date]" {-b,--bool=}"[Tag boolean]" "(--before=)--before=}[View entries older than date]" {-c,--count=}"[Count to display]" "(--case=)--case=}[Case sensitivity for search string matching [(c)ase-sensitive]" "(--color)--color}[Include colors in output]" {-i,--interactive}"[Select from a menu of matching entries to perform additional operations]" "(--not)--not}[Show items that *dont* match search stringt* match search string]" {-o,--output=}"[Output to export format]" "(--only_timed)--only_timed}[Only show items with recorded time intervals]" {-s,--section=}"[Section]" "(--search=)--search=}[Search filter]" {-t,--times}"[Show time intervals on @done tasks]" "(--tag=)--tag=}[Tag filter]" "(--tag_order=)--tag_order=}[Tag sort direction]" "(--tag_sort=)--tag_sort=}[Sort tags by]" "(--totals)--totals}[Show intervals with totals at the end of output]" {-x,--exact}"[Force exact search string matching]" )
|
189
193
|
;;
|
190
194
|
views)
|
191
195
|
args=( {-c,--column}"[List in single column]" )
|
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 '--bool --editor --interactive --in --note --section --search --tag' -- $token ) )
|
4
|
+
COMPREPLY=( $( compgen -W '--bool --case --editor --interactive --in --note --not --section --search --tag --exact' -- $token ) )
|
5
5
|
elif [[ "$token" == -* ]]; then
|
6
|
-
COMPREPLY=( $( compgen -W '-e -i -n -s --bool --editor --interactive --in --note --section --search --tag' -- $token ) )
|
6
|
+
COMPREPLY=( $( compgen -W '-e -i -n -s -x --bool --case --editor --interactive --in --note --not --section --search --tag --exact' -- $token ) )
|
7
7
|
|
8
8
|
fi
|
9
9
|
}
|
@@ -16,9 +16,9 @@ local words=$(doing sections)
|
|
16
16
|
IFS="$OLD_IFS"
|
17
17
|
|
18
18
|
if [[ "$token" == --* ]]; then
|
19
|
-
COMPREPLY=( $( compgen -W '--before --bool --keep --label --search --to --tag' -- $token ) )
|
19
|
+
COMPREPLY=( $( compgen -W '--before --bool --case --keep --label --not --search --to --tag --exact' -- $token ) )
|
20
20
|
elif [[ "$token" == -* ]]; then
|
21
|
-
COMPREPLY=( $( compgen -W '-k -t --before --bool --keep --label --search --to --tag' -- $token ) )
|
21
|
+
COMPREPLY=( $( compgen -W '-k -t -x --before --bool --case --keep --label --not --search --to --tag --exact' -- $token ) )
|
22
22
|
else
|
23
23
|
local nocasematchWasOff=0
|
24
24
|
shopt nocasematch >/dev/null || nocasematchWasOff=1
|
@@ -51,9 +51,19 @@ _doing_autotag() {
|
|
51
51
|
_doing_cancel() {
|
52
52
|
|
53
53
|
if [[ "$token" == --* ]]; then
|
54
|
-
COMPREPLY=( $( compgen -W '--archive --bool --interactive --section --tag --unfinished' -- $token ) )
|
54
|
+
COMPREPLY=( $( compgen -W '--archive --bool --case --interactive --not --section --search --tag --unfinished --exact' -- $token ) )
|
55
55
|
elif [[ "$token" == -* ]]; then
|
56
|
-
COMPREPLY=( $( compgen -W '-a -i -s -u --archive --bool --interactive --section --tag --unfinished' -- $token ) )
|
56
|
+
COMPREPLY=( $( compgen -W '-a -i -s -u -x --archive --bool --case --interactive --not --section --search --tag --unfinished --exact' -- $token ) )
|
57
|
+
|
58
|
+
fi
|
59
|
+
}
|
60
|
+
|
61
|
+
_doing_completion() {
|
62
|
+
|
63
|
+
if [[ "$token" == --* ]]; then
|
64
|
+
COMPREPLY=( $( compgen -W '--file --type' -- $token ) )
|
65
|
+
elif [[ "$token" == -* ]]; then
|
66
|
+
COMPREPLY=( $( compgen -W '-f -t --file --type' -- $token ) )
|
57
67
|
|
58
68
|
fi
|
59
69
|
}
|
@@ -81,9 +91,9 @@ _doing_done() {
|
|
81
91
|
_doing_finish() {
|
82
92
|
|
83
93
|
if [[ "$token" == --* ]]; then
|
84
|
-
COMPREPLY=( $( compgen -W '--archive --at --auto --back --bool --date --interactive --remove --section --search --took --tag --unfinished' -- $token ) )
|
94
|
+
COMPREPLY=( $( compgen -W '--archive --at --auto --back --bool --case --date --interactive --not --remove --section --search --took --tag --unfinished --exact' -- $token ) )
|
85
95
|
elif [[ "$token" == -* ]]; then
|
86
|
-
COMPREPLY=( $( compgen -W '-a -b -i -r -s -t -u --archive --at --auto --back --bool --date --interactive --remove --section --search --took --tag --unfinished' -- $token ) )
|
96
|
+
COMPREPLY=( $( compgen -W '-a -b -i -r -s -t -u -x --archive --at --auto --back --bool --case --date --interactive --not --remove --section --search --took --tag --unfinished --exact' -- $token ) )
|
87
97
|
|
88
98
|
fi
|
89
99
|
}
|
@@ -91,9 +101,9 @@ _doing_finish() {
|
|
91
101
|
_doing_grep() {
|
92
102
|
|
93
103
|
if [[ "$token" == --* ]]; then
|
94
|
-
COMPREPLY=( $( compgen -W '--after --before --interactive --output --only_timed --section --times --tag_sort --totals' -- $token ) )
|
104
|
+
COMPREPLY=( $( compgen -W '--after --before --case --interactive --not --output --only_timed --section --times --tag_sort --totals --exact' -- $token ) )
|
95
105
|
elif [[ "$token" == -* ]]; then
|
96
|
-
COMPREPLY=( $( compgen -W '-i -o -s -t --after --before --interactive --output --only_timed --section --times --tag_sort --totals' -- $token ) )
|
106
|
+
COMPREPLY=( $( compgen -W '-i -o -s -t -x --after --before --case --interactive --not --output --only_timed --section --times --tag_sort --totals --exact' -- $token ) )
|
97
107
|
|
98
108
|
fi
|
99
109
|
}
|
@@ -111,9 +121,9 @@ _doing_help() {
|
|
111
121
|
_doing_import() {
|
112
122
|
|
113
123
|
if [[ "$token" == --* ]]; then
|
114
|
-
COMPREPLY=( $( compgen -W '--after --autotag --before --from --only_timed --overlap --prefix --section --search --tag --type' -- $token ) )
|
124
|
+
COMPREPLY=( $( compgen -W '--after --autotag --before --case --from --not --only_timed --overlap --prefix --section --search --tag --type --exact' -- $token ) )
|
115
125
|
elif [[ "$token" == -* ]]; then
|
116
|
-
COMPREPLY=( $( compgen -W '-f -s --after --autotag --before --from --only_timed --overlap --prefix --section --search --tag --type' -- $token ) )
|
126
|
+
COMPREPLY=( $( compgen -W '-f -s -x --after --autotag --before --case --from --not --only_timed --overlap --prefix --section --search --tag --type --exact' -- $token ) )
|
117
127
|
|
118
128
|
fi
|
119
129
|
}
|
@@ -121,9 +131,9 @@ _doing_import() {
|
|
121
131
|
_doing_last() {
|
122
132
|
|
123
133
|
if [[ "$token" == --* ]]; then
|
124
|
-
COMPREPLY=( $( compgen -W '--bool --editor --section --search --tag' -- $token ) )
|
134
|
+
COMPREPLY=( $( compgen -W '--bool --case --editor --not --section --search --tag --exact' -- $token ) )
|
125
135
|
elif [[ "$token" == -* ]]; then
|
126
|
-
COMPREPLY=( $( compgen -W '-e -s --bool --editor --section --search --tag' -- $token ) )
|
136
|
+
COMPREPLY=( $( compgen -W '-e -s -x --bool --case --editor --not --section --search --tag --exact' -- $token ) )
|
127
137
|
|
128
138
|
fi
|
129
139
|
}
|
@@ -141,9 +151,9 @@ _doing_later() {
|
|
141
151
|
_doing_mark() {
|
142
152
|
|
143
153
|
if [[ "$token" == --* ]]; then
|
144
|
-
COMPREPLY=( $( compgen -W '--bool --count --date --force --interactive --remove --section --search --tag --unfinished' -- $token ) )
|
154
|
+
COMPREPLY=( $( compgen -W '--bool --count --case --date --force --interactive --not --remove --section --search --tag --unfinished --exact' -- $token ) )
|
145
155
|
elif [[ "$token" == -* ]]; then
|
146
|
-
COMPREPLY=( $( compgen -W '-c -d -i -r -s -u --bool --count --date --force --interactive --remove --section --search --tag --unfinished' -- $token ) )
|
156
|
+
COMPREPLY=( $( compgen -W '-c -d -i -r -s -u -x --bool --count --case --date --force --interactive --not --remove --section --search --tag --unfinished --exact' -- $token ) )
|
147
157
|
|
148
158
|
fi
|
149
159
|
}
|
@@ -161,9 +171,9 @@ _doing_meanwhile() {
|
|
161
171
|
_doing_note() {
|
162
172
|
|
163
173
|
if [[ "$token" == --* ]]; then
|
164
|
-
COMPREPLY=( $( compgen -W '--bool --editor --interactive --remove --section --search --tag' -- $token ) )
|
174
|
+
COMPREPLY=( $( compgen -W '--bool --case --editor --interactive --not --remove --section --search --tag --exact' -- $token ) )
|
165
175
|
elif [[ "$token" == -* ]]; then
|
166
|
-
COMPREPLY=( $( compgen -W '-e -i -r -s --bool --editor --interactive --remove --section --search --tag' -- $token ) )
|
176
|
+
COMPREPLY=( $( compgen -W '-e -i -r -s -x --bool --case --editor --interactive --not --remove --section --search --tag --exact' -- $token ) )
|
167
177
|
|
168
178
|
fi
|
169
179
|
}
|
@@ -221,9 +231,9 @@ _doing_recent() {
|
|
221
231
|
_doing_reset() {
|
222
232
|
|
223
233
|
if [[ "$token" == --* ]]; then
|
224
|
-
COMPREPLY=( $( compgen -W '--bool --interactive --resume --section --search --tag' -- $token ) )
|
234
|
+
COMPREPLY=( $( compgen -W '--bool --case --interactive --not --resume --section --search --tag --exact' -- $token ) )
|
225
235
|
elif [[ "$token" == -* ]]; then
|
226
|
-
COMPREPLY=( $( compgen -W '-i -r -s --bool --interactive --resume --section --search --tag' -- $token ) )
|
236
|
+
COMPREPLY=( $( compgen -W '-i -r -s -x --bool --case --interactive --not --resume --section --search --tag --exact' -- $token ) )
|
227
237
|
|
228
238
|
fi
|
229
239
|
}
|
@@ -231,9 +241,9 @@ _doing_reset() {
|
|
231
241
|
_doing_rotate() {
|
232
242
|
|
233
243
|
if [[ "$token" == --* ]]; then
|
234
|
-
COMPREPLY=( $( compgen -W '--before --bool --keep --section --search --tag' -- $token ) )
|
244
|
+
COMPREPLY=( $( compgen -W '--before --bool --case --keep --not --section --search --tag --exact' -- $token ) )
|
235
245
|
elif [[ "$token" == -* ]]; then
|
236
|
-
COMPREPLY=( $( compgen -W '-k -s --before --bool --keep --section --search --tag' -- $token ) )
|
246
|
+
COMPREPLY=( $( compgen -W '-k -s -x --before --bool --case --keep --not --section --search --tag --exact' -- $token ) )
|
237
247
|
|
238
248
|
fi
|
239
249
|
}
|
@@ -251,9 +261,9 @@ _doing_sections() {
|
|
251
261
|
_doing_select() {
|
252
262
|
|
253
263
|
if [[ "$token" == --* ]]; then
|
254
|
-
COMPREPLY=( $( compgen -W '--archive --resume --cancel --delete --editor --finish --flag --force --move --menu --output --search --remove --section --save_to --tag' -- $token ) )
|
264
|
+
COMPREPLY=( $( compgen -W '--archive --resume --cancel --case --delete --editor --finish --flag --force --move --menu --not --output --search --remove --section --save_to --tag --exact' -- $token ) )
|
255
265
|
elif [[ "$token" == -* ]]; then
|
256
|
-
COMPREPLY=( $( compgen -W '-a -c -d -e -f -m -o -r -s -t --archive --resume --cancel --delete --editor --finish --flag --force --move --menu --output --search --remove --section --save_to --tag' -- $token ) )
|
266
|
+
COMPREPLY=( $( compgen -W '-a -c -d -e -f -m -o -r -s -t -x --archive --resume --cancel --case --delete --editor --finish --flag --force --move --menu --not --output --search --remove --section --save_to --tag --exact' -- $token ) )
|
257
267
|
|
258
268
|
fi
|
259
269
|
}
|
@@ -266,9 +276,9 @@ local words=$(doing sections)
|
|
266
276
|
IFS="$OLD_IFS"
|
267
277
|
|
268
278
|
if [[ "$token" == --* ]]; then
|
269
|
-
COMPREPLY=( $( compgen -W '--age --after --bool --before --count --from --interactive --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
|
279
|
+
COMPREPLY=( $( compgen -W '--age --after --bool --before --count --case --from --interactive --not --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals --exact' -- $token ) )
|
270
280
|
elif [[ "$token" == -* ]]; then
|
271
|
-
COMPREPLY=( $( compgen -W '-a -b -c -f -i -o -s -t --age --after --bool --before --count --from --interactive --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
|
281
|
+
COMPREPLY=( $( compgen -W '-a -b -c -f -i -o -s -t -x --age --after --bool --before --count --case --from --interactive --not --output --only_timed --sort --search --times --tag --tag_order --tag_sort --totals --exact' -- $token ) )
|
272
282
|
else
|
273
283
|
local nocasematchWasOff=0
|
274
284
|
shopt nocasematch >/dev/null || nocasematchWasOff=1
|
@@ -301,9 +311,9 @@ _doing_since() {
|
|
301
311
|
_doing_tag() {
|
302
312
|
|
303
313
|
if [[ "$token" == --* ]]; then
|
304
|
-
COMPREPLY=( $( compgen -W '--autotag --bool --count --date --force --interactive --remove --regex --rename --section --search --tag --unfinished' -- $token ) )
|
314
|
+
COMPREPLY=( $( compgen -W '--autotag --bool --count --case --date --force --interactive --not --remove --regex --rename --section --search --tag --unfinished --exact' -- $token ) )
|
305
315
|
elif [[ "$token" == -* ]]; then
|
306
|
-
COMPREPLY=( $( compgen -W '-a -c -d -i -r -s -u --autotag --bool --count --date --force --interactive --remove --regex --rename --section --search --tag --unfinished' -- $token ) )
|
316
|
+
COMPREPLY=( $( compgen -W '-a -c -d -i -r -s -u -x --autotag --bool --count --case --date --force --interactive --not --remove --regex --rename --section --search --tag --unfinished --exact' -- $token ) )
|
307
317
|
|
308
318
|
fi
|
309
319
|
}
|
@@ -346,9 +356,9 @@ local words=$(doing views)
|
|
346
356
|
IFS="$OLD_IFS"
|
347
357
|
|
348
358
|
if [[ "$token" == --* ]]; then
|
349
|
-
COMPREPLY=( $( compgen -W '--after --bool --before --count --color --interactive --output --only_timed --section --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
|
359
|
+
COMPREPLY=( $( compgen -W '--after --bool --before --count --case --color --interactive --not --output --only_timed --section --search --times --tag --tag_order --tag_sort --totals --exact' -- $token ) )
|
350
360
|
elif [[ "$token" == -* ]]; then
|
351
|
-
COMPREPLY=( $( compgen -W '-b -c -i -o -s -t --after --bool --before --count --color --interactive --output --only_timed --section --search --times --tag --tag_order --tag_sort --totals' -- $token ) )
|
361
|
+
COMPREPLY=( $( compgen -W '-b -c -i -o -s -t -x --after --bool --before --count --case --color --interactive --not --output --only_timed --section --search --times --tag --tag_order --tag_sort --totals --exact' -- $token ) )
|
352
362
|
else
|
353
363
|
local nocasematchWasOff=0
|
354
364
|
shopt nocasematch >/dev/null || nocasematchWasOff=1
|
@@ -407,6 +417,7 @@ _doing()
|
|
407
417
|
elif [[ $last =~ (archive|move) ]]; then _doing_archive
|
408
418
|
elif [[ $last =~ (autotag) ]]; then _doing_autotag
|
409
419
|
elif [[ $last =~ (cancel) ]]; then _doing_cancel
|
420
|
+
elif [[ $last =~ (completion) ]]; then _doing_completion
|
410
421
|
elif [[ $last =~ (config) ]]; then _doing_config
|
411
422
|
elif [[ $last =~ (done|did) ]]; then _doing_done
|
412
423
|
elif [[ $last =~ (finish) ]]; then _doing_finish
|