doing 2.0.9.pre → 2.0.10

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 (83) 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 +1 -1
  9. data/Gemfile.lock +30 -10
  10. data/README.md +1 -1
  11. data/Rakefile +8 -1
  12. data/bin/doing +76 -30
  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 +5 -1
  58. data/doing.rdoc +86 -16
  59. data/example_plugin.rb +6 -6
  60. data/lib/doing/array.rb +1 -1
  61. data/lib/doing/configuration.rb +14 -12
  62. data/lib/doing/hash.rb +1 -1
  63. data/lib/doing/item.rb +101 -17
  64. data/lib/doing/log_adapter.rb +123 -113
  65. data/lib/doing/note.rb +1 -1
  66. data/lib/doing/plugin_manager.rb +5 -5
  67. data/lib/doing/plugins/export/csv_export.rb +1 -1
  68. data/lib/doing/plugins/export/template_export.rb +5 -7
  69. data/lib/doing/plugins/import/calendar_import.rb +1 -1
  70. data/lib/doing/plugins/import/doing_import.rb +4 -4
  71. data/lib/doing/plugins/import/timing_import.rb +5 -3
  72. data/lib/doing/string.rb +75 -22
  73. data/lib/doing/symbol.rb +9 -5
  74. data/lib/doing/time.rb +1 -1
  75. data/lib/doing/util.rb +18 -11
  76. data/lib/doing/version.rb +1 -1
  77. data/lib/doing/wwid.rb +419 -326
  78. data/lib/doing/wwidfile.rb +5 -5
  79. data/lib/doing.rb +2 -1
  80. data/lib/examples/plugins/say_export.rb +6 -6
  81. data/rdocfixer.rb +1 -1
  82. data/yard_templates/default/method_details/setup.rb +3 -0
  83. metadata +117 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f63df319758e6575ab75de3305ed9e44ac272d54b026e6873397970780115cca
4
- data.tar.gz: e770a9679824aae9582ca1cedb23e783d0bb1070b1c740d7ce662d912124006d
3
+ metadata.gz: 3cc03da6b7d2ea778baf93cd1031b1663f071e1aaddf84efc15ffc21690fc157
4
+ data.tar.gz: 1fecde44c95f32746406cbf2cafbdddea6d47db1696a0311437cd7dd928f3fef
5
5
  SHA512:
6
- metadata.gz: 10bcf3f91db5636bb4133323b09a22f0978d3955e0e564931edef9cf8b9416aa4f7fa0480588dd85b95eab7cdb1f8952a843dce755bed6fc5dfd108ee60ea8ce
7
- data.tar.gz: 23a73fa1f03cb28afaca764296a52140a6f7eb772add3db3220b255c51831cb5c2eb97a9f103000788fd06998bf8389dcac62618880a84fadfa5b209e1c718da
6
+ metadata.gz: '095d859e021692c9cee5e9ab16b82b48c1c1619798db261e83a9c50375f9df52547390a817623ba1ec3173f502731b9bf208dc574333886742955864e7a21ba9'
7
+ data.tar.gz: e0a350fb87a0c173181eb5ff4ca6ea8e2152d98a8f54cf9a70153e24b94990f058d8fd5937ae2f5f40a7826b85e9d98b84277d4dd02a98a99d996ba24d17ca31
data/.yardoc/checksums ADDED
@@ -0,0 +1,20 @@
1
+ lib/doing/hash.rb 516c5a40b713a52f5d2cb73c20df5e84d57c6d66
2
+ lib/doing/item.rb 69ef4f60e970daafed1c708d28ef15dadd09c2e6
3
+ lib/doing/note.rb 84f53a2980a7b23793056e647bbd55a9f04c8cf1
4
+ lib/doing/time.rb d83c862e7fffd841e12150a3d954b445a6003da9
5
+ lib/doing/util.rb 4793f8193d7366e5072d03c96843e1b7fb71f90d
6
+ lib/doing/wwid.rb 21029a7ba3c0414968ff0b1779f58559e0e0a96d
7
+ lib/doing/array.rb 695309e5b659d47ab0383fecf1dc77a74c237e10
8
+ lib/doing/hooks.rb 00feacdbf24dc67951c49ca8c1ca9a568441920e
9
+ lib/doing/pager.rb 2b8099560df739d4a4dd4cfdb0402cd43abc705c
10
+ lib/doing/colors.rb 19cb557b1ea1161304046e5458add75e15357dbb
11
+ lib/doing/errors.rb af07e482a5389924edc2337749c81cda501098f0
12
+ lib/doing/string.rb 0803a7a08bfe3f4328868cb7e2abb546e10013c0
13
+ lib/doing/symbol.rb 1729951e207d6ed30bf17ce719b2230dd495b988
14
+ lib/doing/version.rb 2eed30271513448cebe46be379bca7d28bac86eb
15
+ lib/doing/wwidfile.rb c6b09c62751ae43b3b27aa95cc93601f6e5a49ad
16
+ lib/doing/cli_status.rb 96ebd3cdbeca646dd5c151a56ed07147302ab4d8
17
+ lib/doing/log_adapter.rb 00a4c9f47e8fb6e22019d39717ed61860b804e6b
18
+ lib/doing/configuration.rb 4e4b101901559ecdedffe376fad21359b1870bb0
19
+ lib/doing/plugin_manager.rb fb926e3998bac0b14dd4548b16ece0d32bbe0b9e
20
+ lib/doing/markdown_document_listener.rb 45485f225068a34951ec818a345f642323e5ba35
data/.yardoc/complete ADDED
File without changes
Binary file
Binary file
Binary file
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --markup-provider=redcarpet --markup=markdown --no-private --exclude=README.md lib/doing/*.rb
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- ### 2.0.9.pre
1
+ ### 2.0.10
2
2
 
3
3
  #### NEW
4
4
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doing (2.0.9.pre)
4
+ doing (2.0.10)
5
+ amatch (~> 0.4, >= 0.4.0)
5
6
  chronic (~> 0.10, >= 0.10.2)
6
7
  deep_merge (~> 1.2, >= 1.2.1)
7
8
  gli (~> 2.19, >= 2.19.2)
@@ -11,12 +12,15 @@ PATH
11
12
  GEM
12
13
  remote: http://rubygems.org/
13
14
  specs:
14
- activesupport (6.1.4)
15
+ activesupport (6.1.4.1)
15
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
16
17
  i18n (>= 1.6, < 2)
17
18
  minitest (>= 5.1)
18
19
  tzinfo (~> 2.0)
19
20
  zeitwerk (~> 2.3)
21
+ amatch (0.4.0)
22
+ mize
23
+ tins (~> 1.0)
20
24
  aruba (1.0.4)
21
25
  childprocess (>= 2.0, < 5.0)
22
26
  contracts (~> 0.16.0)
@@ -61,40 +65,53 @@ GEM
61
65
  cucumber-messages (~> 13.0, >= 13.0.1)
62
66
  deep_merge (1.2.1)
63
67
  diff-lcs (1.4.4)
64
- ffi (1.15.3)
68
+ ffi (1.15.4)
69
+ github-markup (4.0.0)
65
70
  gli (2.20.1)
66
71
  haml (5.0.4)
67
72
  temple (>= 0.8.0)
68
73
  tilt
69
- i18n (1.8.10)
74
+ i18n (1.8.11)
70
75
  concurrent-ruby (~> 1.0)
71
76
  middleware (0.1.0)
72
77
  minitest (5.14.4)
78
+ mize (0.4.0)
79
+ protocol (~> 2.0)
73
80
  multi_test (0.1.2)
74
- power_assert (2.0.0)
81
+ power_assert (2.0.1)
75
82
  protobuf-cucumber (3.10.8)
76
83
  activesupport (>= 3.2)
77
84
  middleware
78
85
  thor
79
86
  thread_safe
80
- rake (13.0.3)
81
- rdoc (6.3.2)
87
+ protocol (2.0.0)
88
+ ruby_parser (~> 3.0)
89
+ rake (13.0.6)
90
+ rdoc (6.3.3)
91
+ redcarpet (3.5.1)
82
92
  rspec-expectations (3.10.1)
83
93
  diff-lcs (>= 1.2.0, < 2.0)
84
94
  rspec-support (~> 3.10.0)
85
- rspec-support (3.10.2)
95
+ rspec-support (3.10.3)
96
+ ruby_parser (3.18.1)
97
+ sexp_processor (~> 4.16)
86
98
  safe_yaml (1.0.5)
99
+ sexp_processor (4.16.0)
100
+ sync (0.5.0)
87
101
  sys-uname (1.2.2)
88
102
  ffi (~> 1.1)
89
103
  temple (0.8.2)
90
- test-unit (3.4.4)
104
+ test-unit (3.4.9)
91
105
  power_assert
92
106
  thor (1.1.0)
93
107
  thread_safe (0.3.6)
94
108
  tilt (2.0.10)
109
+ tins (1.29.1)
110
+ sync
95
111
  tzinfo (2.0.4)
96
112
  concurrent-ruby (~> 1.0)
97
- zeitwerk (2.4.2)
113
+ yard (0.9.26)
114
+ zeitwerk (2.5.1)
98
115
 
99
116
  PLATFORMS
100
117
  ruby
@@ -102,9 +119,12 @@ PLATFORMS
102
119
  DEPENDENCIES
103
120
  aruba (~> 1.0.2)
104
121
  doing!
122
+ github-markup
105
123
  rake (~> 13.0, >= 13.0.1)
106
124
  rdoc (~> 6.3.1)
125
+ redcarpet
107
126
  test-unit (~> 3.4.4)
127
+ yard
108
128
 
109
129
  BUNDLED WITH
110
130
  2.2.17
data/README.md CHANGED
@@ -6,7 +6,7 @@ _If you're one of the rare people like me who find this useful, feel free to [bu
6
6
 
7
7
  <!--README-->
8
8
 
9
- The current version of `doing` is <!--VER-->2.0.8<!--END VER-->.
9
+ The current version of `doing` is <!--VER-->2.0.9<!--END VER-->.
10
10
 
11
11
  Find all of the documentation in the [doing wiki](https://github.com/ttscoff/doing/wiki).
12
12
 
data/Rakefile CHANGED
@@ -5,6 +5,13 @@ require 'rdoc'
5
5
  require 'rdoc/task'
6
6
  require 'rake/testtask'
7
7
  require 'open3'
8
+ require 'yard'
9
+
10
+ YARD::Rake::YardocTask.new do |t|
11
+ t.files = ['lib/doing/*.rb']
12
+ t.options = ['--markup-provider=redcarpet', '--markup=markdown', '--no-private', '-p', 'yard_templates']
13
+ # t.stats_options = ['--list-undoc']
14
+ end
8
15
 
9
16
  Rake::RDocTask.new do |rd|
10
17
  rd.main = 'README.md'
@@ -76,4 +83,4 @@ task :bump, :type do |_, args|
76
83
  File.open(version_file, 'w+') { |f| f.puts content }
77
84
  end
78
85
 
79
- task default: %i[clobber rdoc package]
86
+ task default: %i[clobber yard package]
data/bin/doing CHANGED
@@ -198,13 +198,16 @@ command %i[reset begin] do |c|
198
198
  c.arg_name 'QUERY'
199
199
  c.flag [:search]
200
200
 
201
+ c.desc 'Use alternative fuzzy matching for search string'
202
+ c.switch [:fuzzy], default_value: false, negatable: false
203
+
201
204
  c.desc 'Force exact search string matching (case sensitive)'
202
205
  c.switch %i[x exact], default_value: false, negatable: false
203
206
 
204
207
  c.desc 'Reset items that *don\'t* match search/tag filters'
205
208
  c.switch [:not], default_value: false, negatable: false
206
209
 
207
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
210
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
208
211
  c.arg_name 'TYPE'
209
212
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
210
213
 
@@ -293,13 +296,16 @@ command :note do |c|
293
296
  c.arg_name 'QUERY'
294
297
  c.flag [:search]
295
298
 
299
+ c.desc 'Use alternative fuzzy matching for search string'
300
+ c.switch [:fuzzy], default_value: false, negatable: false
301
+
296
302
  c.desc 'Force exact search string matching (case sensitive)'
297
303
  c.switch %i[x exact], default_value: false, negatable: false
298
304
 
299
305
  c.desc 'Add note to item that *doesn\'t* match search/tag filters'
300
306
  c.switch [:not], default_value: false, negatable: false
301
307
 
302
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
308
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
303
309
  c.arg_name 'TYPE'
304
310
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
305
311
 
@@ -530,7 +536,7 @@ command :select do |c|
530
536
  c.desc 'Select items that *don\'t* match search/tag filters'
531
537
  c.switch [:not], default_value: false, negatable: false
532
538
 
533
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
539
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
534
540
  c.arg_name 'TYPE'
535
541
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
536
542
 
@@ -848,13 +854,16 @@ command :cancel do |c|
848
854
  c.arg_name 'QUERY'
849
855
  c.flag [:search]
850
856
 
857
+ c.desc 'Use alternative fuzzy matching for search string'
858
+ c.switch [:fuzzy], default_value: false, negatable: false
859
+
851
860
  c.desc 'Force exact search string matching (case sensitive)'
852
861
  c.switch %i[x exact], default_value: false, negatable: false
853
862
 
854
863
  c.desc 'Finish items that *don\'t* match search/tag filters'
855
864
  c.switch [:not], default_value: false, negatable: false
856
865
 
857
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
866
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
858
867
  c.arg_name 'TYPE'
859
868
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
860
869
 
@@ -895,19 +904,20 @@ command :cancel do |c|
895
904
  end
896
905
 
897
906
  opts = {
898
- search: search,
899
- case: options[:case].normalize_case,
900
- not: options[:not],
901
907
  archive: options[:a],
908
+ case: options[:case].normalize_case,
902
909
  count: count,
903
910
  date: false,
911
+ fuzzy: options[:fuzzy],
912
+ interactive: options[:interactive],
913
+ not: options[:not],
914
+ search: search,
904
915
  section: section,
905
916
  sequential: false,
906
917
  tag: tags,
907
918
  tag_bool: options[:bool].normalize_bool,
908
919
  tags: ['done'],
909
- unfinished: options[:unfinished],
910
- interactive: options[:interactive]
920
+ unfinished: options[:unfinished]
911
921
  }
912
922
 
913
923
  wwid.tag_last(opts)
@@ -946,13 +956,16 @@ command :finish do |c|
946
956
  c.arg_name 'QUERY'
947
957
  c.flag [:search]
948
958
 
959
+ c.desc 'Use alternative fuzzy matching for search string'
960
+ c.switch [:fuzzy], default_value: false, negatable: false
961
+
949
962
  c.desc 'Force exact search string matching (case sensitive)'
950
963
  c.switch %i[x exact], default_value: false, negatable: false
951
964
 
952
965
  c.desc 'Finish items that *don\'t* match search/tag filters'
953
966
  c.switch [:not], default_value: false, negatable: false
954
967
 
955
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
968
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
956
969
  c.arg_name 'TYPE'
957
970
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
958
971
 
@@ -1034,19 +1047,20 @@ command :finish do |c|
1034
1047
  opts = {
1035
1048
  archive: options[:archive],
1036
1049
  back: date,
1050
+ case: options[:case].normalize_case,
1037
1051
  count: count,
1038
1052
  date: options[:date],
1039
- search: search,
1040
- case: options[:case].normalize_case,
1053
+ fuzzy: options[:fuzzy],
1054
+ interactive: options[:interactive],
1041
1055
  not: options[:not],
1056
+ remove: options[:remove],
1057
+ search: search,
1042
1058
  section: options[:section],
1043
1059
  sequential: options[:auto],
1044
1060
  tag: tags,
1045
1061
  tag_bool: options[:bool].normalize_bool,
1046
1062
  tags: ['done'],
1047
- unfinished: options[:unfinished],
1048
- remove: options[:remove],
1049
- interactive: options[:interactive]
1063
+ unfinished: options[:unfinished]
1050
1064
  }
1051
1065
 
1052
1066
  wwid.tag_last(opts)
@@ -1072,13 +1086,16 @@ command %i[again resume] do |c|
1072
1086
  c.arg_name 'QUERY'
1073
1087
  c.flag [:search]
1074
1088
 
1089
+ c.desc 'Use alternative fuzzy matching for search string'
1090
+ c.switch [:fuzzy], default_value: false, negatable: false
1091
+
1075
1092
  c.desc 'Force exact search string matching (case sensitive)'
1076
1093
  c.switch %i[x exact], default_value: false, negatable: false
1077
1094
 
1078
1095
  c.desc 'Resume items that *don\'t* match search/tag filters'
1079
1096
  c.switch [:not], default_value: false, negatable: false
1080
1097
 
1081
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
1098
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
1082
1099
  c.arg_name 'TYPE'
1083
1100
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
1084
1101
 
@@ -1107,7 +1124,7 @@ command %i[again resume] do |c|
1107
1124
  options[:search] = search
1108
1125
  end
1109
1126
 
1110
- opts = options
1127
+ opts = options.dup
1111
1128
 
1112
1129
  opts[:tag] = tags
1113
1130
  opts[:tag_bool] = options[:bool].normalize_bool
@@ -1178,13 +1195,16 @@ command :tag do |c|
1178
1195
  c.arg_name 'QUERY'
1179
1196
  c.flag [:search]
1180
1197
 
1198
+ c.desc 'Use alternative fuzzy matching for search string'
1199
+ c.switch [:fuzzy], default_value: false, negatable: false
1200
+
1181
1201
  c.desc 'Force exact search string matching (case sensitive)'
1182
1202
  c.switch %i[x exact], default_value: false, negatable: false
1183
1203
 
1184
1204
  c.desc 'Tag items that *don\'t* match search/tag filters'
1185
1205
  c.switch [:not], default_value: false, negatable: false
1186
1206
 
1187
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
1207
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
1188
1208
  c.arg_name 'TYPE'
1189
1209
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
1190
1210
 
@@ -1310,13 +1330,16 @@ command [:mark, :flag] do |c|
1310
1330
  c.arg_name 'QUERY'
1311
1331
  c.flag [:search]
1312
1332
 
1333
+ c.desc 'Use alternative fuzzy matching for search string'
1334
+ c.switch [:fuzzy], default_value: false, negatable: false
1335
+
1313
1336
  c.desc 'Force exact search string matching (case sensitive)'
1314
1337
  c.switch %i[x exact], default_value: false, negatable: false
1315
1338
 
1316
1339
  c.desc 'Flag items that *don\'t* match search/tag/date filters'
1317
1340
  c.switch [:not], default_value: false, negatable: false
1318
1341
 
1319
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
1342
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
1320
1343
  c.arg_name 'TYPE'
1321
1344
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
1322
1345
 
@@ -1402,7 +1425,9 @@ command :show do |c|
1402
1425
  c.example 'doing show Currently', desc: 'Show entries in the Currently section'
1403
1426
  c.example 'doing show @project1', desc: 'Show entries tagged @project1'
1404
1427
  c.example 'doing show Later @doing', desc: 'Show entries from the Later section tagged @doing'
1405
- c.example 'doing show Ideas --from "mon to fri" --tag doing', desc: 'Show entries tagged @doing from the Ideas section added between monday and friday of the current week.'
1428
+ c.example 'doing show @oracle @writing --bool and', desc: 'Show entries tagged both @oracle and @writing'
1429
+ c.example 'doing show Currently @devo --bool not', desc: 'Show entries in Currently NOT tagged @devo'
1430
+ c.example 'doing show Ideas @doing --from "mon to fri"', desc: 'Show entries tagged @doing from the Ideas section added between monday and friday of the current week.'
1406
1431
  c.example 'doing show --interactive Later @doing', desc: 'Create a menu from entries from the Later section tagged @doing to perform batch actions'
1407
1432
 
1408
1433
  c.desc 'Tag filter, combine multiple tags with a comma. Added for compatibility with other commands.'
@@ -1433,13 +1458,16 @@ command :show do |c|
1433
1458
  c.arg_name 'QUERY'
1434
1459
  c.flag [:search]
1435
1460
 
1461
+ c.desc 'Use alternative fuzzy matching for search string'
1462
+ c.switch [:fuzzy], default_value: false, negatable: false
1463
+
1436
1464
  c.desc 'Force exact search string matching (case sensitive)'
1437
1465
  c.switch %i[x exact], default_value: false, negatable: false
1438
1466
 
1439
1467
  c.desc 'Show items that *don\'t* match search/tag/date filters'
1440
1468
  c.switch [:not], default_value: false, negatable: false
1441
1469
 
1442
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
1470
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
1443
1471
  c.arg_name 'TYPE'
1444
1472
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
1445
1473
 
@@ -1617,13 +1645,16 @@ command %i[grep search] do |c|
1617
1645
  c.desc 'Only show items with recorded time intervals'
1618
1646
  c.switch [:only_timed], default_value: false, negatable: false
1619
1647
 
1648
+ c.desc 'Use alternative fuzzy matching for search string'
1649
+ c.switch [:fuzzy], default_value: false, negatable: false
1650
+
1620
1651
  c.desc 'Force exact string matching (case sensitive)'
1621
1652
  c.switch %i[x exact], default_value: false, negatable: false
1622
1653
 
1623
1654
  c.desc 'Show items that *don\'t* match search string'
1624
1655
  c.switch [:not], default_value: false, negatable: false
1625
1656
 
1626
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
1657
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
1627
1658
  c.arg_name 'TYPE'
1628
1659
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
1629
1660
 
@@ -1963,13 +1994,16 @@ command :last do |c|
1963
1994
  c.arg_name 'QUERY'
1964
1995
  c.flag [:search]
1965
1996
 
1997
+ c.desc 'Use alternative fuzzy matching for search string'
1998
+ c.switch [:fuzzy], default_value: false, negatable: false
1999
+
1966
2000
  c.desc 'Force exact search string matching (case sensitive)'
1967
2001
  c.switch %i[x exact], default_value: false, negatable: false
1968
2002
 
1969
2003
  c.desc 'Show items that *don\'t* match search string or tag filter'
1970
2004
  c.switch [:not], default_value: false, negatable: false
1971
2005
 
1972
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
2006
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
1973
2007
  c.arg_name 'TYPE'
1974
2008
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
1975
2009
 
@@ -2001,10 +2035,10 @@ command :last do |c|
2001
2035
  end
2002
2036
 
2003
2037
  if options[:editor]
2004
- wwid.edit_last(section: options[:s], options: { search: search, case: options[:case], tag: tags, tag_bool: options[:bool], not: options[:not] })
2038
+ wwid.edit_last(section: options[:s], options: { search: search, fuzzy: options[:fuzzy], case: options[:case], tag: tags, tag_bool: options[:bool], not: options[:not] })
2005
2039
  else
2006
2040
  Doing::Pager::page wwid.last(times: true, section: options[:s],
2007
- options: { search: search, case: options[:case], negate: options[:not], tag: tags, tag_bool: options[:bool] }).strip
2041
+ options: { search: search, fuzzy: options[:fuzzy], case: options[:case], negate: options[:not], tag: tags, tag_bool: options[:bool] }).strip
2008
2042
  end
2009
2043
  end
2010
2044
  end
@@ -2162,13 +2196,16 @@ command :view do |c|
2162
2196
  c.arg_name 'QUERY'
2163
2197
  c.flag [:search]
2164
2198
 
2199
+ c.desc 'Use alternative fuzzy matching for search string'
2200
+ c.switch [:fuzzy], default_value: false, negatable: false
2201
+
2165
2202
  c.desc 'Force exact search string matching (case sensitive)'
2166
2203
  c.switch %i[x exact], default_value: false, negatable: false
2167
2204
 
2168
2205
  c.desc 'Show items that *don\'t* match search string'
2169
2206
  c.switch [:not], default_value: false, negatable: false
2170
2207
 
2171
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
2208
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
2172
2209
  c.arg_name 'TYPE'
2173
2210
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
2174
2211
 
@@ -2386,13 +2423,16 @@ command %i[archive move] do |c|
2386
2423
  c.arg_name 'QUERY'
2387
2424
  c.flag [:search]
2388
2425
 
2426
+ c.desc 'Use alternative fuzzy matching for search string'
2427
+ c.switch [:fuzzy], default_value: false, negatable: false
2428
+
2389
2429
  c.desc 'Force exact search string matching (case sensitive)'
2390
2430
  c.switch %i[x exact], default_value: false, negatable: false
2391
2431
 
2392
2432
  c.desc 'Show items that *don\'t* match search string'
2393
2433
  c.switch [:not], default_value: false, negatable: false
2394
2434
 
2395
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
2435
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
2396
2436
  c.arg_name 'TYPE'
2397
2437
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
2398
2438
 
@@ -2464,13 +2504,16 @@ command :rotate do |c|
2464
2504
  c.arg_name 'QUERY'
2465
2505
  c.flag [:search]
2466
2506
 
2507
+ c.desc 'Use alternative fuzzy matching for search string'
2508
+ c.switch [:fuzzy], default_value: false, negatable: false
2509
+
2467
2510
  c.desc 'Force exact search string matching (case sensitive)'
2468
2511
  c.switch %i[x exact], default_value: false, negatable: false
2469
2512
 
2470
2513
  c.desc 'Rotate items that *don\'t* match search string or tag filter'
2471
2514
  c.switch [:not], default_value: false, negatable: false
2472
2515
 
2473
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
2516
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
2474
2517
  c.arg_name 'TYPE'
2475
2518
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
2476
2519
 
@@ -2599,7 +2642,7 @@ command :config do |c|
2599
2642
  when /^j/
2600
2643
  JSON.pretty_generate(cfg)
2601
2644
  when /^r/
2602
- cfg
2645
+ cfg.map {|k, v| v.to_s }
2603
2646
  else
2604
2647
  YAML.dump(cfg)
2605
2648
  end
@@ -2684,13 +2727,16 @@ command :import do |c|
2684
2727
  c.arg_name 'QUERY'
2685
2728
  c.flag [:search]
2686
2729
 
2730
+ c.desc 'Use alternative fuzzy matching for search string'
2731
+ c.switch [:fuzzy], default_value: false, negatable: false
2732
+
2687
2733
  c.desc 'Force exact search string matching (case sensitive)'
2688
2734
  c.switch %i[x exact], default_value: false, negatable: false
2689
2735
 
2690
2736
  c.desc 'Import items that *don\'t* match search/tag/date filters'
2691
2737
  c.switch [:not], default_value: false, negatable: false
2692
2738
 
2693
- c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)nsensitive, (s)mart]'
2739
+ c.desc 'Case sensitivity for search string matching [(c)ase-sensitive, (i)gnore, (s)mart]'
2694
2740
  c.arg_name 'TYPE'
2695
2741
  c.flag [:case], must_match: /^[csi]/, default_value: 'smart'
2696
2742
 
data/doc/Array.html ADDED
@@ -0,0 +1,135 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Array
8
+
9
+ &mdash; Documentation by YARD 0.9.26
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "Array";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index (A)</a> &raquo;
40
+
41
+
42
+ <span class="title">Array</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Array
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Array</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/doing/array.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+ <p>Array helpers</p>
105
+
106
+
107
+ </div>
108
+ </div>
109
+ <div class="tags">
110
+
111
+
112
+ </div><div id="subclasses">
113
+ <h2>Direct Known Subclasses</h2>
114
+ <p class="children"><span class='object_link'><a href="Doing/Items.html" title="Doing::Items (class)">Doing::Items</a></span>, <span class='object_link'><a href="Doing/Note.html" title="Doing::Note (class)">Doing::Note</a></span></p>
115
+ </div>
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+ </div>
126
+
127
+ <div id="footer">
128
+ Generated on Thu Nov 18 16:39:12 2021 by
129
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
+ 0.9.26 (ruby-3.0.1).
131
+ </div>
132
+
133
+ </div>
134
+ </body>
135
+ </html>