doing 2.0.9.pre → 2.0.10

Sign up to get free protection for your applications and to get access to all the features.
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>