doing 2.0.9.pre → 2.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.yardoc/checksums +20 -0
  3. data/.yardoc/complete +0 -0
  4. data/.yardoc/object_types +0 -0
  5. data/.yardoc/objects/root.dat +0 -0
  6. data/.yardoc/proxy_types +0 -0
  7. data/.yardopts +1 -0
  8. data/CHANGELOG.md +21 -1
  9. data/Gemfile.lock +20 -10
  10. data/README.md +1 -1
  11. data/Rakefile +10 -1
  12. data/bin/doing +106 -38
  13. data/doc/Array.html +135 -0
  14. data/doc/Doing/Color.html +506 -0
  15. data/doc/Doing/Configuration.html +680 -0
  16. data/doc/Doing/Errors/DoingNoTraceError.html +186 -0
  17. data/doc/Doing/Errors/DoingRuntimeError.html +186 -0
  18. data/doc/Doing/Errors/DoingStandardError.html +186 -0
  19. data/doc/Doing/Errors/EmptyInput.html +186 -0
  20. data/doc/Doing/Errors/NoResults.html +186 -0
  21. data/doc/Doing/Errors/PluginException.html +248 -0
  22. data/doc/Doing/Errors/UserCancelled.html +186 -0
  23. data/doc/Doing/Errors/WrongCommand.html +186 -0
  24. data/doc/Doing/Errors.html +191 -0
  25. data/doc/Doing/Hooks.html +364 -0
  26. data/doc/Doing/Item.html +1385 -0
  27. data/doc/Doing/Items.html +393 -0
  28. data/doc/Doing/LogAdapter.html +1650 -0
  29. data/doc/Doing/Note.html +535 -0
  30. data/doc/Doing/Pager.html +268 -0
  31. data/doc/Doing/Plugins.html +849 -0
  32. data/doc/Doing/Util.html +870 -0
  33. data/doc/Doing/WWID.html +4827 -0
  34. data/doc/Doing.html +145 -0
  35. data/doc/GLI/Commands/MarkdownDocumentListener.html +763 -0
  36. data/doc/GLI/Commands.html +115 -0
  37. data/doc/GLI.html +115 -0
  38. data/doc/Hash.html +332 -0
  39. data/doc/Status.html +292 -0
  40. data/doc/String.html +1714 -0
  41. data/doc/Symbol.html +250 -0
  42. data/doc/Time.html +182 -0
  43. data/doc/_index.html +411 -0
  44. data/doc/class_list.html +51 -0
  45. data/doc/css/common.css +1 -0
  46. data/doc/css/full_list.css +58 -0
  47. data/doc/css/style.css +497 -0
  48. data/doc/file.README.html +123 -0
  49. data/doc/file_list.html +56 -0
  50. data/doc/frames.html +17 -0
  51. data/doc/index.html +123 -0
  52. data/doc/js/app.js +314 -0
  53. data/doc/js/full_list.js +216 -0
  54. data/doc/js/jquery.js +4 -0
  55. data/doc/method_list.html +1867 -0
  56. data/doc/top-level-namespace.html +112 -0
  57. data/doing.gemspec +6 -1
  58. data/doing.rdoc +16 -16
  59. data/example_plugin.rb +6 -6
  60. data/lib/completion/_doing.zsh +24 -20
  61. data/lib/completion/doing.bash +41 -30
  62. data/lib/completion/doing.fish +50 -1
  63. data/lib/doing/array.rb +15 -2
  64. data/lib/doing/configuration.rb +14 -12
  65. data/lib/doing/hash.rb +1 -1
  66. data/lib/doing/item.rb +104 -19
  67. data/lib/doing/log_adapter.rb +132 -119
  68. data/lib/doing/note.rb +1 -1
  69. data/lib/doing/plugin_manager.rb +5 -5
  70. data/lib/doing/plugins/export/csv_export.rb +1 -1
  71. data/lib/doing/plugins/export/template_export.rb +5 -7
  72. data/lib/doing/plugins/import/calendar_import.rb +1 -1
  73. data/lib/doing/plugins/import/doing_import.rb +4 -4
  74. data/lib/doing/plugins/import/timing_import.rb +5 -3
  75. data/lib/doing/string.rb +77 -24
  76. data/lib/doing/symbol.rb +9 -5
  77. data/lib/doing/time.rb +1 -1
  78. data/lib/doing/util.rb +18 -11
  79. data/lib/doing/version.rb +1 -1
  80. data/lib/doing/wwid.rb +513 -372
  81. data/lib/doing/wwidfile.rb +5 -5
  82. data/lib/doing.rb +2 -1
  83. data/lib/examples/plugins/say_export.rb +6 -6
  84. data/rdocfixer.rb +1 -1
  85. data/yard_templates/default/method_details/setup.rb +3 -0
  86. metadata +111 -4
@@ -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
@@ -64,6 +64,7 @@ complete -xc doing -n '__fish_doing_needs_command' -a 'autotag' -d Autotag\ last
64
64
  complete -xc doing -n '__fish_doing_needs_command' -a 'cancel' -d End\ last\ X\ entries\ with\ no\ time\ tracked
65
65
  complete -xc doing -n '__fish_doing_needs_command' -a 'choose' -d Select\ a\ section\ to\ display\ from\ a\ menu
66
66
  complete -xc doing -n '__fish_doing_needs_command' -a 'colors' -d List\ available\ color\ variables\ for\ configuration\ templates\ and\ views
67
+ complete -xc doing -n '__fish_doing_needs_command' -a 'completion' -d Generate\ shell\ completion\ scripts
67
68
  complete -xc doing -n '__fish_doing_needs_command' -a 'config' -d Edit\ the\ configuration\ file\ or\ output\ a\ value\ from\ it
68
69
  complete -xc doing -n '__fish_doing_needs_command' -a 'done did' -d Add\ a\ completed\ item\ with\ @done\(date\)
69
70
  complete -xc doing -n '__fish_doing_needs_command' -a 'finish' -d Mark\ last\ X\ entries\ as\ @done
@@ -96,20 +97,26 @@ complete -xc doing -n '__fish_doing_needs_command' -a 'views' -d List\ available
96
97
  complete -xc doing -n '__fish_doing_needs_command' -a 'wiki' -d Output\ a\ tag\ wiki
97
98
  complete -xc doing -n '__fish_doing_needs_command' -a 'yesterday' -d List\ entries\ from\ yesterday
98
99
  complete -c doing -l bool -f -r -n '__fish_doing_using_command again resume' -d Boolean\ used\ to\ combine\ multiple\ tags
100
+ complete -c doing -l case -f -r -n '__fish_doing_using_command again resume' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
99
101
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command again resume' -d Edit\ duplicated\ entry\ with\ vim\ before\ adding
100
102
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command again resume' -d Select\ item\ to\ resume\ from\ a\ menu\ of\ matching\ entries
101
103
  complete -c doing -l in -f -r -n '__fish_doing_using_command again resume' -d Add\ new\ entry\ to\ section
102
104
  complete -c doing -l note -s n -f -r -n '__fish_doing_using_command again resume' -d Note
105
+ complete -c doing -l not -f -n '__fish_doing_using_command again resume' -d Resume\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
103
106
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command again resume' -d Get\ last\ entry\ from\ a\ specific\ section
104
107
  complete -c doing -l search -f -r -n '__fish_doing_using_command again resume' -d Repeat\ last\ entry\ matching\ search
105
108
  complete -c doing -l tag -f -r -n '__fish_doing_using_command again resume' -d Repeat\ last\ entry\ matching\ tags
109
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command again resume' -d Force\ exact\ search\ string\ matching
106
110
  complete -c doing -l before -f -r -n '__fish_doing_using_command archive move' -d Archive\ entries\ older\ than\ date
107
111
  complete -c doing -l bool -f -r -n '__fish_doing_using_command archive move' -d Tag\ boolean
112
+ complete -c doing -l case -f -r -n '__fish_doing_using_command archive move' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
108
113
  complete -c doing -l keep -s k -f -r -n '__fish_doing_using_command archive move' -d How\ many\ items\ to\ keep
109
114
  complete -c doing -l label -f -n '__fish_doing_using_command archive move' -d Label\ moved\ items\ with\ @from\(SECTION_NAME\)
115
+ complete -c doing -l not -f -n '__fish_doing_using_command archive move' -d Show\ items\ that\ \*don\'t\*\ match\ search\ string
110
116
  complete -c doing -l search -f -r -n '__fish_doing_using_command archive move' -d Search\ filter
111
117
  complete -c doing -l to -s t -f -r -n '__fish_doing_using_command archive move' -d Move\ entries\ to
112
118
  complete -c doing -l tag -f -r -n '__fish_doing_using_command archive move' -d Tag\ filter
119
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command archive move' -d Force\ exact\ search\ string\ matching
113
120
  complete -c doing -l bool -f -r -n '__fish_doing_using_command autotag' -d Boolean
114
121
  complete -c doing -l count -s c -f -r -n '__fish_doing_using_command autotag' -d How\ many\ recent\ entries\ to\ autotag
115
122
  complete -c doing -l force -f -n '__fish_doing_using_command autotag' -d Don\'t\ ask\ permission\ to\ autotag\ all\ entries\ when\ count\ is\ 0
@@ -120,10 +127,16 @@ complete -c doing -l tag -f -r -n '__fish_doing_using_command autotag' -d Autot
120
127
  complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command autotag' -d Autotag\ last\ entry
121
128
  complete -c doing -l archive -s a -f -n '__fish_doing_using_command cancel' -d Archive\ entries
122
129
  complete -c doing -l bool -f -r -n '__fish_doing_using_command cancel' -d Boolean
130
+ complete -c doing -l case -f -r -n '__fish_doing_using_command cancel' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
123
131
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command cancel' -d Select\ item\(s\)\ to\ cancel\ from\ a\ menu\ of\ matching\ entries
132
+ complete -c doing -l not -f -n '__fish_doing_using_command cancel' -d Finish\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
124
133
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command cancel' -d Section
134
+ complete -c doing -l search -f -r -n '__fish_doing_using_command cancel' -d Cancel\ the\ last\ X\ entries\ matching\ search\ filter
125
135
  complete -c doing -l tag -f -r -n '__fish_doing_using_command cancel' -d Cancel\ the\ last\ X\ entries\ containing\ TAG
126
136
  complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command cancel' -d Cancel\ last\ entry
137
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command cancel' -d Force\ exact\ search\ string\ matching
138
+ complete -c doing -l file -s f -f -r -n '__fish_doing_using_command completion' -d File\ to\ write\ output\ to
139
+ complete -c doing -l type -s t -f -r -n '__fish_doing_using_command completion' -d Shell\ to\ generate\ for
127
140
  complete -c doing -F -n '__fish_doing_using_command config'
128
141
  complete -c doing -l dump -s d -f -n '__fish_doing_using_command config' -d Show\ a\ config\ key\ value\ based\ on\ arguments
129
142
  complete -c doing -l editor -s e -f -r -n '__fish_doing_using_command config' -d Editor\ to\ use
@@ -144,28 +157,36 @@ complete -c doing -l at -f -r -n '__fish_doing_using_command finish' -d Set\ fi
144
157
  complete -c doing -l auto -f -n '__fish_doing_using_command finish' -d Auto-generate\ finish\ dates\ from\ next\ entry\'s\ start\ time
145
158
  complete -c doing -l back -s b -f -r -n '__fish_doing_using_command finish' -d Backdate\ completed\ date\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
146
159
  complete -c doing -l bool -f -r -n '__fish_doing_using_command finish' -d Boolean
160
+ complete -c doing -l case -f -r -n '__fish_doing_using_command finish' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
147
161
  complete -c doing -l date -f -n '__fish_doing_using_command finish' -d Include\ date
148
162
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command finish' -d Select\ item\(s\)\ to\ finish\ from\ a\ menu\ of\ matching\ entries
163
+ complete -c doing -l not -f -n '__fish_doing_using_command finish' -d Finish\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
149
164
  complete -c doing -l remove -s r -f -n '__fish_doing_using_command finish' -d Remove\ done\ tag
150
165
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command finish' -d Section
151
166
  complete -c doing -l search -f -r -n '__fish_doing_using_command finish' -d Finish\ the\ last\ X\ entries\ matching\ search\ filter
152
167
  complete -c doing -l took -s t -f -r -n '__fish_doing_using_command finish' -d Set\ the\ completed\ date\ to\ the\ start\ date\ plus\ XX\[hmd\]
153
168
  complete -c doing -l tag -f -r -n '__fish_doing_using_command finish' -d Finish\ the\ last\ X\ entries\ containing\ TAG
154
169
  complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command finish' -d Finish\ last\ entry
170
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command finish' -d Force\ exact\ search\ string\ matching
155
171
  complete -c doing -l after -f -r -n '__fish_doing_using_command grep search' -d Constrain\ search\ to\ entries\ newer\ than\ date
156
172
  complete -c doing -l before -f -r -n '__fish_doing_using_command grep search' -d Constrain\ search\ to\ entries\ older\ than\ date
173
+ complete -c doing -l case -f -r -n '__fish_doing_using_command grep search' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
157
174
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command grep search' -d Display\ an\ interactive\ menu\ of\ results\ to\ perform\ further\ operations
175
+ complete -c doing -l not -f -n '__fish_doing_using_command grep search' -d Show\ items\ that\ \*don\'t\*\ match\ search\ string
158
176
  complete -c doing -l output -s o -f -r -n '__fish_doing_using_command grep search' -d Output\ to\ export\ format
159
177
  complete -c doing -l only_timed -f -n '__fish_doing_using_command grep search' -d Only\ show\ items\ with\ recorded\ time\ intervals
160
178
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command grep search' -d Section
161
179
  complete -c doing -l times -s t -f -n '__fish_doing_using_command grep search' -d Show\ time\ intervals\ on\ @done\ tasks
162
180
  complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command grep search' -d Sort\ tags\ by
163
181
  complete -c doing -l totals -f -n '__fish_doing_using_command grep search' -d Show\ intervals\ with\ totals\ at\ the\ end\ of\ output
182
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command grep search' -d Force\ exact\ string\ matching
164
183
  complete -c doing -F -n '__fish_doing_using_command import'
165
184
  complete -c doing -l after -f -r -n '__fish_doing_using_command import' -d Import\ entries\ newer\ than\ date
166
185
  complete -c doing -l autotag -f -n '__fish_doing_using_command import' -d Autotag\ entries
167
186
  complete -c doing -l before -f -r -n '__fish_doing_using_command import' -d Import\ entries\ older\ than\ date
187
+ complete -c doing -l case -f -r -n '__fish_doing_using_command import' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
168
188
  complete -c doing -l from -s f -f -r -n '__fish_doing_using_command import' -d Date\ range\ to\ import
189
+ complete -c doing -l not -f -n '__fish_doing_using_command import' -d Import\ items\ that\ \*don\'t\*\ match\ search/tag/date\ filters
169
190
  complete -c doing -l only_timed -f -n '__fish_doing_using_command import' -d Only\ import\ items\ with\ recorded\ time\ intervals
170
191
  complete -c doing -l overlap -f -n '__fish_doing_using_command import' -d Allow\ entries\ that\ overlap\ existing\ times
171
192
  complete -c doing -l prefix -f -r -n '__fish_doing_using_command import' -d Prefix\ entries\ with
@@ -173,36 +194,46 @@ complete -c doing -l section -s s -f -r -n '__fish_doing_using_command import' -
173
194
  complete -c doing -l search -f -r -n '__fish_doing_using_command import' -d Only\ import\ items\ matching\ search
174
195
  complete -c doing -l tag -f -r -n '__fish_doing_using_command import' -d Tag\ all\ imported\ entries
175
196
  complete -c doing -l type -f -r -n '__fish_doing_using_command import' -d Import\ type
197
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command import' -d Force\ exact\ search\ string\ matching
176
198
  complete -c doing -l bool -f -r -n '__fish_doing_using_command last' -d Tag\ boolean
199
+ complete -c doing -l case -f -r -n '__fish_doing_using_command last' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
177
200
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command last' -d Edit\ entry\ with\ vim
201
+ complete -c doing -l not -f -n '__fish_doing_using_command last' -d Show\ items\ that\ \*don\'t\*\ match\ search\ string\ or\ tag\ filter
178
202
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command last' -d Specify\ a\ section
179
203
  complete -c doing -l search -f -r -n '__fish_doing_using_command last' -d Search\ filter
180
204
  complete -c doing -l tag -f -r -n '__fish_doing_using_command last' -d Tag\ filter
205
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command last' -d Force\ exact\ search\ string\ matching
181
206
  complete -c doing -l back -s b -f -r -n '__fish_doing_using_command later' -d Backdate\ start\ time\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
182
207
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command later' -d Edit\ entry\ with\ vim
183
208
  complete -c doing -l note -s n -f -r -n '__fish_doing_using_command later' -d Note
184
209
  complete -c doing -l bool -f -r -n '__fish_doing_using_command mark flag' -d Boolean
185
210
  complete -c doing -l count -s c -f -r -n '__fish_doing_using_command mark flag' -d How\ many\ recent\ entries\ to\ tag
211
+ complete -c doing -l case -f -r -n '__fish_doing_using_command mark flag' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
186
212
  complete -c doing -l date -s d -f -n '__fish_doing_using_command mark flag' -d Include\ current\ date/time\ with\ tag
187
213
  complete -c doing -l force -f -n '__fish_doing_using_command mark flag' -d Don\'t\ ask\ permission\ to\ flag\ all\ entries\ when\ count\ is\ 0
188
214
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command mark flag' -d Select\ item\(s\)\ to\ flag\ from\ a\ menu\ of\ matching\ entries
215
+ complete -c doing -l not -f -n '__fish_doing_using_command mark flag' -d Flag\ items\ that\ \*don\'t\*\ match\ search/tag/date\ filters
189
216
  complete -c doing -l remove -s r -f -n '__fish_doing_using_command mark flag' -d Remove\ flag
190
217
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command mark flag' -d Section
191
218
  complete -c doing -l search -f -r -n '__fish_doing_using_command mark flag' -d Flag\ the\ last\ entry\ matching\ search\ filter
192
219
  complete -c doing -l tag -f -r -n '__fish_doing_using_command mark flag' -d Flag\ the\ last\ entry\ containing\ TAG
193
220
  complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command mark flag' -d Flag\ last\ entry
221
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command mark flag' -d Force\ exact\ search\ string\ matching
194
222
  complete -c doing -l archive -s a -f -n '__fish_doing_using_command meanwhile' -d Archive\ previous\ @meanwhile\ entry
195
223
  complete -c doing -l back -s b -f -r -n '__fish_doing_using_command meanwhile' -d Backdate\ start\ date\ for\ new\ entry\ to\ date\ string\ \[4pm\|20m\|2h\|yesterday\ noon\]
196
224
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command meanwhile' -d Edit\ entry\ with\ vim
197
225
  complete -c doing -l note -s n -f -r -n '__fish_doing_using_command meanwhile' -d Note
198
226
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command meanwhile' -d Section
199
227
  complete -c doing -l bool -f -r -n '__fish_doing_using_command note' -d Boolean
228
+ complete -c doing -l case -f -r -n '__fish_doing_using_command note' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
200
229
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command note' -d Edit\ entry\ with\ vim
201
230
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command note' -d Select\ item\ for\ new\ note\ from\ a\ menu\ of\ matching\ entries
231
+ complete -c doing -l not -f -n '__fish_doing_using_command note' -d Add\ note\ to\ item\ that\ \*doesn\'t\*\ match\ search/tag\ filters
202
232
  complete -c doing -l remove -s r -f -n '__fish_doing_using_command note' -d Replace/Remove\ last\ entry\'s\ note
203
233
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command note' -d Section
204
234
  complete -c doing -l search -f -r -n '__fish_doing_using_command note' -d Add/remove\ note\ from\ last\ entry\ matching\ search\ filter
205
235
  complete -c doing -l tag -f -r -n '__fish_doing_using_command note' -d Add/remove\ note\ from\ last\ entry\ matching\ tag
236
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command note' -d Force\ exact\ search\ string\ matching
206
237
  complete -c doing -l back -s b -f -r -n '__fish_doing_using_command now next' -d Backdate\ start\ time\ \[4pm\|20m\|2h\|yesterday\ noon\]
207
238
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command now next' -d Edit\ entry\ with\ vim
208
239
  complete -c doing -l finish_last -s f -f -n '__fish_doing_using_command now next' -d Timed\ entry
@@ -223,21 +254,28 @@ complete -c doing -l times -s t -f -n '__fish_doing_using_command recent' -d Sh
223
254
  complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command recent' -d Sort\ tags\ by
224
255
  complete -c doing -l totals -f -n '__fish_doing_using_command recent' -d Show\ intervals\ with\ totals\ at\ the\ end\ of\ output
225
256
  complete -c doing -l bool -f -r -n '__fish_doing_using_command reset begin' -d Boolean
257
+ complete -c doing -l case -f -r -n '__fish_doing_using_command reset begin' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
226
258
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command reset begin' -d Select\ from\ a\ menu\ of\ matching\ entries
259
+ complete -c doing -l not -f -n '__fish_doing_using_command reset begin' -d Reset\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
227
260
  complete -c doing -l resume -s r -f -n '__fish_doing_using_command reset begin' -d Resume\ entry
228
- complete -c doing -l section -s s -f -r -n '__fish_doing_using_command reset begin' -d Set\ the\ start\ date\ of\ an\ item\ to\ now
261
+ complete -c doing -l section -s s -f -r -n '__fish_doing_using_command reset begin' -d Limit\ search\ to\ section
229
262
  complete -c doing -l search -f -r -n '__fish_doing_using_command reset begin' -d Reset\ last\ entry\ matching\ search\ filter
230
263
  complete -c doing -l tag -f -r -n '__fish_doing_using_command reset begin' -d Reset\ last\ entry\ matching\ tag
264
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command reset begin' -d Force\ exact\ search\ string\ matching
231
265
  complete -c doing -l before -f -r -n '__fish_doing_using_command rotate' -d Rotate\ entries\ older\ than\ date
232
266
  complete -c doing -l bool -f -r -n '__fish_doing_using_command rotate' -d Tag\ boolean
267
+ complete -c doing -l case -f -r -n '__fish_doing_using_command rotate' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
233
268
  complete -c doing -l keep -s k -f -r -n '__fish_doing_using_command rotate' -d How\ many\ items\ to\ keep\ in\ each\ section
269
+ complete -c doing -l not -f -n '__fish_doing_using_command rotate' -d Rotate\ items\ that\ \*don\'t\*\ match\ search\ string\ or\ tag\ filter
234
270
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command rotate' -d Section\ to\ rotate
235
271
  complete -c doing -l search -f -r -n '__fish_doing_using_command rotate' -d Search\ filter
236
272
  complete -c doing -l tag -f -r -n '__fish_doing_using_command rotate' -d Tag\ filter
273
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command rotate' -d Force\ exact\ search\ string\ matching
237
274
  complete -c doing -l column -s c -f -n '__fish_doing_using_command sections' -d List\ in\ single\ column
238
275
  complete -c doing -l archive -s a -f -n '__fish_doing_using_command select' -d Archive\ selected\ items
239
276
  complete -c doing -l resume -f -n '__fish_doing_using_command select' -d Copy\ selection\ as\ a\ new\ entry\ with\ current\ time\ and\ no\ @done\ tag
240
277
  complete -c doing -l cancel -s c -f -n '__fish_doing_using_command select' -d Cancel\ selected\ items
278
+ complete -c doing -l case -f -r -n '__fish_doing_using_command select' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
241
279
  complete -c doing -l delete -s d -f -n '__fish_doing_using_command select' -d Delete\ selected\ items
242
280
  complete -c doing -l editor -s e -f -n '__fish_doing_using_command select' -d Edit\ selected\ item\(s\)
243
281
  complete -c doing -l finish -s f -f -n '__fish_doing_using_command select' -d Add\ @done\ with\ current\ time\ to\ selected\ item\(s\)
@@ -245,19 +283,23 @@ complete -c doing -l flag -f -n '__fish_doing_using_command select' -d Add\ fl
245
283
  complete -c doing -l force -f -n '__fish_doing_using_command select' -d Perform\ action\ without\ confirmation
246
284
  complete -c doing -l move -s m -f -r -n '__fish_doing_using_command select' -d Move\ selected\ items\ to\ section
247
285
  complete -c doing -l menu -f -n '__fish_doing_using_command select' -d Use\ --no-menu\ to\ skip\ the\ interactive\ menu
286
+ complete -c doing -l not -f -n '__fish_doing_using_command select' -d Select\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
248
287
  complete -c doing -l output -s o -f -r -n '__fish_doing_using_command select' -d Output\ entries\ to\ format
249
288
  complete -c doing -l search -f -r -n '__fish_doing_using_command select' -d Initial\ search\ query\ for\ filtering
250
289
  complete -c doing -l remove -s r -f -n '__fish_doing_using_command select' -d Reverse\ -c
251
290
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command select' -d Select\ from\ a\ specific\ section
252
291
  complete -c doing -l save_to -f -r -n '__fish_doing_using_command select' -d Save\ selected\ entries\ to\ file\ using\ --output\ format
253
292
  complete -c doing -l tag -s t -f -r -n '__fish_doing_using_command select' -d Tag\ selected\ entries
293
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command select' -d Force\ exact\ search\ string\ matching
254
294
  complete -c doing -l age -s a -f -r -n '__fish_doing_using_command show' -d Age
255
295
  complete -c doing -l after -f -r -n '__fish_doing_using_command show' -d View\ entries\ newer\ than\ date
256
296
  complete -c doing -l bool -s b -f -r -n '__fish_doing_using_command show' -d Tag\ boolean
257
297
  complete -c doing -l before -f -r -n '__fish_doing_using_command show' -d View\ entries\ older\ than\ date
258
298
  complete -c doing -l count -s c -f -r -n '__fish_doing_using_command show' -d Max\ count\ to\ show
299
+ complete -c doing -l case -f -r -n '__fish_doing_using_command show' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
259
300
  complete -c doing -l from -s f -f -r -n '__fish_doing_using_command show' -d Date\ range\ to\ show
260
301
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command show' -d Select\ from\ a\ menu\ of\ matching\ entries\ to\ perform\ additional\ operations
302
+ complete -c doing -l not -f -n '__fish_doing_using_command show' -d Show\ items\ that\ \*don\'t\*\ match\ search/tag/date\ filters
261
303
  complete -c doing -l output -s o -f -r -n '__fish_doing_using_command show' -d Output\ to\ export\ format
262
304
  complete -c doing -l only_timed -f -n '__fish_doing_using_command show' -d Only\ show\ items\ with\ recorded\ time\ intervals
263
305
  complete -c doing -l sort -s s -f -r -n '__fish_doing_using_command show' -d Sort\ order
@@ -267,6 +309,7 @@ complete -c doing -l tag -f -r -n '__fish_doing_using_command show' -d Tag\ fil
267
309
  complete -c doing -l tag_order -f -r -n '__fish_doing_using_command show' -d Tag\ sort\ direction
268
310
  complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command show' -d Sort\ tags\ by
269
311
  complete -c doing -l totals -f -n '__fish_doing_using_command show' -d Show\ intervals\ with\ totals\ at\ the\ end\ of\ output
312
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command show' -d Force\ exact\ search\ string\ matching
270
313
  complete -c doing -l output -s o -f -r -n '__fish_doing_using_command since' -d Output\ to\ export\ format
271
314
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command since' -d Section
272
315
  complete -c doing -l times -s t -f -n '__fish_doing_using_command since' -d Show\ time\ intervals\ on\ @done\ tasks
@@ -275,9 +318,11 @@ complete -c doing -l totals -f -n '__fish_doing_using_command since' -d Show\
275
318
  complete -c doing -l autotag -s a -f -n '__fish_doing_using_command tag' -d Autotag\ entries\ based\ on\ autotag\ configuration\ in\ \~/
276
319
  complete -c doing -l bool -f -r -n '__fish_doing_using_command tag' -d Boolean
277
320
  complete -c doing -l count -s c -f -r -n '__fish_doing_using_command tag' -d How\ many\ recent\ entries\ to\ tag
321
+ complete -c doing -l case -f -r -n '__fish_doing_using_command tag' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
278
322
  complete -c doing -l date -s d -f -n '__fish_doing_using_command tag' -d Include\ current\ date/time\ with\ tag
279
323
  complete -c doing -l force -f -n '__fish_doing_using_command tag' -d Don\'t\ ask\ permission\ to\ tag\ all\ entries\ when\ count\ is\ 0
280
324
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command tag' -d Select\ item\(s\)\ to\ tag\ from\ a\ menu\ of\ matching\ entries
325
+ complete -c doing -l not -f -n '__fish_doing_using_command tag' -d Tag\ items\ that\ \*don\'t\*\ match\ search/tag\ filters
281
326
  complete -c doing -l remove -s r -f -n '__fish_doing_using_command tag' -d Remove\ given\ tag\(s\)
282
327
  complete -c doing -l regex -f -n '__fish_doing_using_command tag' -d Interpret\ tag\ string\ as\ regular\ expression
283
328
  complete -c doing -l rename -f -r -n '__fish_doing_using_command tag' -d Replace\ existing\ tag\ with\ tag\ argument
@@ -285,6 +330,7 @@ complete -c doing -l section -s s -f -r -n '__fish_doing_using_command tag' -d S
285
330
  complete -c doing -l search -f -r -n '__fish_doing_using_command tag' -d Tag\ entries\ matching\ search\ filter
286
331
  complete -c doing -l tag -f -r -n '__fish_doing_using_command tag' -d Tag\ the\ last\ X\ entries\ containing\ TAG
287
332
  complete -c doing -l unfinished -s u -f -n '__fish_doing_using_command tag' -d Tag\ last\ entry
333
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command tag' -d Force\ exact\ search\ string\ matching
288
334
  complete -c doing -l list -s l -f -n '__fish_doing_using_command template' -d List\ all\ available\ templates
289
335
  complete -c doing -l after -f -r -n '__fish_doing_using_command today' -d View\ entries\ after\ specified\ time
290
336
  complete -c doing -l before -f -r -n '__fish_doing_using_command today' -d View\ entries\ before\ specified\ time
@@ -298,8 +344,10 @@ complete -c doing -l after -f -r -n '__fish_doing_using_command view' -d View\
298
344
  complete -c doing -l bool -s b -f -r -n '__fish_doing_using_command view' -d Tag\ boolean
299
345
  complete -c doing -l before -f -r -n '__fish_doing_using_command view' -d View\ entries\ older\ than\ date
300
346
  complete -c doing -l count -s c -f -r -n '__fish_doing_using_command view' -d Count\ to\ display
347
+ complete -c doing -l case -f -r -n '__fish_doing_using_command view' -d Case\ sensitivity\ for\ search\ string\ matching\ \[\(c\)ase-sensitive
301
348
  complete -c doing -l color -f -n '__fish_doing_using_command view' -d Include\ colors\ in\ output
302
349
  complete -c doing -l interactive -s i -f -n '__fish_doing_using_command view' -d Select\ from\ a\ menu\ of\ matching\ entries\ to\ perform\ additional\ operations
350
+ complete -c doing -l not -f -n '__fish_doing_using_command view' -d Show\ items\ that\ \*don\'t\*\ match\ search\ string
303
351
  complete -c doing -l output -s o -f -r -n '__fish_doing_using_command view' -d Output\ to\ export\ format
304
352
  complete -c doing -l only_timed -f -n '__fish_doing_using_command view' -d Only\ show\ items\ with\ recorded\ time\ intervals
305
353
  complete -c doing -l section -s s -f -r -n '__fish_doing_using_command view' -d Section
@@ -309,6 +357,7 @@ complete -c doing -l tag -f -r -n '__fish_doing_using_command view' -d Tag\ fil
309
357
  complete -c doing -l tag_order -f -r -n '__fish_doing_using_command view' -d Tag\ sort\ direction
310
358
  complete -c doing -l tag_sort -f -r -n '__fish_doing_using_command view' -d Sort\ tags\ by
311
359
  complete -c doing -l totals -f -n '__fish_doing_using_command view' -d Show\ intervals\ with\ totals\ at\ the\ end\ of\ output
360
+ complete -c doing -l exact -s x -f -n '__fish_doing_using_command view' -d Force\ exact\ search\ string\ matching
312
361
  complete -c doing -l column -s c -f -n '__fish_doing_using_command views' -d List\ in\ single\ column
313
362
  complete -c doing -l after -f -r -n '__fish_doing_using_command wiki' -d Include\ entries\ newer\ than\ date
314
363
  complete -c doing -l bool -s b -f -r -n '__fish_doing_using_command wiki' -d Tag\ boolean
data/lib/doing/array.rb CHANGED
@@ -2,7 +2,20 @@
2
2
 
3
3
  module Doing
4
4
  ##
5
- ## @brief Array helpers
5
+ ## Array helpers
6
6
  ##
7
- class ::Array end
7
+ class ::Array
8
+ def to_tags
9
+ map { |t| t.sub(/^@?/, '@') }
10
+ end
11
+
12
+ def highlight_tags(color = 'cyan')
13
+ tag_color = Doing::Color.send(color)
14
+ to_tags.map { |t| "#{tag_color}#{t}" }
15
+ end
16
+
17
+ def log_tags
18
+ highlight_tags.join(', ')
19
+ end
20
+ end
8
21
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Doing
4
4
  ##
5
- ## @brief Configuration object
5
+ ## Configuration object
6
6
  ##
7
7
  class Configuration
8
8
  attr_reader :settings
@@ -106,14 +106,15 @@ module Doing
106
106
 
107
107
  def value_for_key(keypath = '')
108
108
  cfg = @settings
109
+ real_path = []
109
110
  unless keypath =~ /^[.*]?$/
110
111
  paths = keypath.split(/[:.]/)
111
112
  while paths.length.positive? && !cfg.nil?
112
113
  path = paths.shift
113
114
  new_cfg = nil
114
115
  cfg.each do |key, val|
115
- next unless key =~ /#{path.to_rx(2)}/
116
-
116
+ next unless key =~ path.to_rx(distance: 2)
117
+ real_path << key
117
118
  new_cfg = val
118
119
  break
119
120
  end
@@ -122,12 +123,13 @@ module Doing
122
123
  Doing.logger.error("Key match not found: #{path}")
123
124
  break
124
125
  end
125
-
126
126
  cfg = new_cfg
127
127
  end
128
128
  end
129
-
130
- cfg
129
+ Doing.logger.debug('Config:', "translated key path #{keypath} to #{real_path.join('.')}")
130
+ result = {}
131
+ result[real_path[-1]] = cfg
132
+ result
131
133
  end
132
134
 
133
135
  # It takes the input, fills in the defaults where values do not exist.
@@ -148,9 +150,9 @@ module Doing
148
150
  end
149
151
 
150
152
  ##
151
- ## @brief Read user configuration and merge with defaults
153
+ ## Read user configuration and merge with defaults
152
154
  ##
153
- ## @param opt (Hash) Additional Options
155
+ ## @param opt [Hash] Additional Options
154
156
  ##
155
157
  def configure(opt = {})
156
158
  @ignore_local = opt[:ignore_local] if opt[:ignore_local]
@@ -219,7 +221,7 @@ module Doing
219
221
  end
220
222
 
221
223
  ##
222
- ## @brief Read local configurations
224
+ ## Read local configurations
223
225
  ##
224
226
  ## @return Hash of config options
225
227
  ##
@@ -251,7 +253,7 @@ module Doing
251
253
  end
252
254
 
253
255
  ##
254
- ## @brief Reads a configuration.
256
+ ## Reads a configuration.
255
257
  ##
256
258
  def read_config
257
259
  unless File.exist?(config_file)
@@ -279,9 +281,9 @@ module Doing
279
281
  end
280
282
 
281
283
  ##
282
- ## @brief Finds a project-specific configuration file
284
+ ## Finds a project-specific configuration file
283
285
  ##
284
- ## @return (String) A file path
286
+ ## @return [String] A file path
285
287
  ##
286
288
  def find_local_config
287
289
  dir = Dir.pwd
data/lib/doing/hash.rb CHANGED
@@ -4,7 +4,7 @@ module Doing
4
4
  # Hash helpers
5
5
  class ::Hash
6
6
  ##
7
- ## @brief Freeze all values in a hash
7
+ ## Freeze all values in a hash
8
8
  ##
9
9
  ## @return { description_of_the_return_value }
10
10
  ##