doing 2.1.80 → 2.1.82

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/Gemfile.lock +13 -15
  4. data/README.md +1 -1
  5. data/bin/commands/again.rb +1 -1
  6. data/bin/commands/archive.rb +1 -1
  7. data/bin/commands/cancel.rb +1 -1
  8. data/bin/commands/finish.rb +1 -1
  9. data/bin/commands/flag.rb +1 -1
  10. data/bin/commands/grep.rb +3 -2
  11. data/bin/commands/last.rb +1 -1
  12. data/bin/commands/note.rb +1 -1
  13. data/bin/commands/on.rb +1 -1
  14. data/bin/commands/recent.rb +1 -1
  15. data/bin/commands/reset.rb +1 -1
  16. data/bin/commands/select.rb +1 -1
  17. data/bin/commands/show.rb +15 -13
  18. data/bin/commands/since.rb +1 -1
  19. data/bin/commands/tag.rb +9 -16
  20. data/bin/commands/tags.rb +1 -1
  21. data/bin/commands/today.rb +1 -1
  22. data/bin/commands/view.rb +1 -1
  23. data/bin/commands/views.rb +1 -1
  24. data/bin/commands/yesterday.rb +1 -1
  25. data/docs/doc/Array.html +66 -4
  26. data/docs/doc/BooleanTermParser/Clause.html +3 -3
  27. data/docs/doc/BooleanTermParser/Operator.html +3 -3
  28. data/docs/doc/BooleanTermParser/Query.html +3 -3
  29. data/docs/doc/BooleanTermParser/QueryParser.html +3 -3
  30. data/docs/doc/BooleanTermParser/QueryTransformer.html +3 -3
  31. data/docs/doc/BooleanTermParser.html +3 -3
  32. data/docs/doc/Doing/ArrayCleanup.html +3 -3
  33. data/docs/doc/Doing/ArrayNestedHash.html +3 -3
  34. data/docs/doc/Doing/ArrayTags.html +3 -3
  35. data/docs/doc/Doing/ByDayExport.html +3 -3
  36. data/docs/doc/Doing/CSVExport.html +3 -3
  37. data/docs/doc/Doing/CalendarImport.html +3 -3
  38. data/docs/doc/Doing/Change.html +3 -3
  39. data/docs/doc/Doing/Changes.html +3 -3
  40. data/docs/doc/Doing/ChronifyArray.html +3 -3
  41. data/docs/doc/Doing/ChronifyNumeric.html +3 -3
  42. data/docs/doc/Doing/ChronifyString.html +3 -3
  43. data/docs/doc/Doing/Color.html +3 -19
  44. data/docs/doc/Doing/Completion/BashCompletions.html +3 -3
  45. data/docs/doc/Doing/Completion/FigCompletions.html +3 -3
  46. data/docs/doc/Doing/Completion/FishCompletions.html +3 -3
  47. data/docs/doc/Doing/Completion/StringUtils.html +3 -3
  48. data/docs/doc/Doing/Completion/ZshCompletions.html +3 -3
  49. data/docs/doc/Doing/Completion.html +3 -3
  50. data/docs/doc/Doing/Configuration.html +3 -3
  51. data/docs/doc/Doing/DayOneRenderer.html +3 -3
  52. data/docs/doc/Doing/DayoneExport.html +3 -3
  53. data/docs/doc/Doing/DoingExport.html +3 -3
  54. data/docs/doc/Doing/DoingImport.html +3 -3
  55. data/docs/doc/Doing/Entry.html +3 -3
  56. data/docs/doc/Doing/Errors/DoingNoTraceError.html +3 -3
  57. data/docs/doc/Doing/Errors/DoingRuntimeError.html +3 -3
  58. data/docs/doc/Doing/Errors/DoingStandardError.html +3 -3
  59. data/docs/doc/Doing/Errors/EmptyInput.html +3 -3
  60. data/docs/doc/Doing/Errors/HistoryLimitError.html +3 -3
  61. data/docs/doc/Doing/Errors/InvalidPlugin.html +3 -3
  62. data/docs/doc/Doing/Errors/MissingBackupFile.html +3 -3
  63. data/docs/doc/Doing/Errors/NoResults.html +3 -3
  64. data/docs/doc/Doing/Errors/PluginException.html +3 -3
  65. data/docs/doc/Doing/Errors/UserCancelled.html +3 -3
  66. data/docs/doc/Doing/Errors/WrongCommand.html +3 -3
  67. data/docs/doc/Doing/Errors.html +3 -3
  68. data/docs/doc/Doing/HTMLExport.html +3 -3
  69. data/docs/doc/Doing/Hooks.html +3 -3
  70. data/docs/doc/Doing/Item.html +4 -4
  71. data/docs/doc/Doing/ItemDates.html +3 -3
  72. data/docs/doc/Doing/ItemQuery.html +3 -3
  73. data/docs/doc/Doing/ItemState.html +3 -3
  74. data/docs/doc/Doing/ItemTags.html +3 -3
  75. data/docs/doc/Doing/Items.html +4 -4
  76. data/docs/doc/Doing/JSONExport.html +3 -3
  77. data/docs/doc/Doing/JSONImport.html +3 -3
  78. data/docs/doc/Doing/Logger.html +3 -3
  79. data/docs/doc/Doing/MarkdownExport.html +3 -3
  80. data/docs/doc/Doing/Note.html +4 -4
  81. data/docs/doc/Doing/Pager.html +3 -3
  82. data/docs/doc/Doing/Plugins.html +3 -3
  83. data/docs/doc/Doing/Prompt.html +4 -4
  84. data/docs/doc/Doing/PromptChoose.html +3 -3
  85. data/docs/doc/Doing/PromptFZF.html +3 -3
  86. data/docs/doc/Doing/PromptInput.html +3 -3
  87. data/docs/doc/Doing/PromptSTD.html +3 -3
  88. data/docs/doc/Doing/PromptYN.html +3 -3
  89. data/docs/doc/Doing/Section.html +3 -3
  90. data/docs/doc/Doing/StringHighlight.html +3 -3
  91. data/docs/doc/Doing/StringNormalize.html +3 -3
  92. data/docs/doc/Doing/StringQuery.html +3 -3
  93. data/docs/doc/Doing/StringTags.html +3 -3
  94. data/docs/doc/Doing/StringTransform.html +3 -3
  95. data/docs/doc/Doing/StringTruncate.html +3 -3
  96. data/docs/doc/Doing/StringURL.html +3 -3
  97. data/docs/doc/Doing/SymbolNormalize.html +3 -3
  98. data/docs/doc/Doing/TaskPaperExport.html +3 -3
  99. data/docs/doc/Doing/TemplateExport.html +4 -4
  100. data/docs/doc/Doing/TemplateString.html +4 -4
  101. data/docs/doc/Doing/TimingImport.html +3 -3
  102. data/docs/doc/Doing/Types.html +3 -3
  103. data/docs/doc/Doing/Util/Backup.html +3 -3
  104. data/docs/doc/Doing/Util.html +3 -3
  105. data/docs/doc/Doing/Version.html +3 -3
  106. data/docs/doc/Doing/WWID.html +4 -4
  107. data/docs/doc/Doing.html +4 -4
  108. data/docs/doc/FalseClass.html +3 -3
  109. data/docs/doc/GLI/Commands/Help.html +3 -3
  110. data/docs/doc/GLI/Commands/MarkdownDocumentListener.html +3 -3
  111. data/docs/doc/GLI/Commands.html +3 -3
  112. data/docs/doc/GLI.html +3 -3
  113. data/docs/doc/Hash.html +3 -3
  114. data/docs/doc/Numeric.html +3 -3
  115. data/docs/doc/Object.html +3 -3
  116. data/docs/doc/PhraseParser/Operator.html +3 -3
  117. data/docs/doc/PhraseParser/PhraseClause.html +3 -3
  118. data/docs/doc/PhraseParser/Query.html +3 -3
  119. data/docs/doc/PhraseParser/QueryParser.html +3 -3
  120. data/docs/doc/PhraseParser/QueryTransformer.html +3 -3
  121. data/docs/doc/PhraseParser/TermClause.html +3 -3
  122. data/docs/doc/PhraseParser.html +3 -3
  123. data/docs/doc/Status.html +3 -3
  124. data/docs/doc/String.html +4 -4
  125. data/docs/doc/Symbol.html +3 -3
  126. data/docs/doc/Time.html +3 -3
  127. data/docs/doc/TrueClass.html +3 -3
  128. data/docs/doc/_index.html +4 -4
  129. data/docs/doc/file.README.html +4 -4
  130. data/docs/doc/frames.html +1 -1
  131. data/docs/doc/index.html +4 -4
  132. data/docs/doc/method_list.html +605 -597
  133. data/docs/doc/top-level-namespace.html +3 -3
  134. data/doing.rdoc +2 -2
  135. data/lib/doing/array/array.rb +9 -0
  136. data/lib/doing/colors.rb +3 -7
  137. data/lib/doing/errors.rb +1 -1
  138. data/lib/doing/good.rb +1 -1
  139. data/lib/doing/hash.rb +3 -3
  140. data/lib/doing/item/query.rb +3 -3
  141. data/lib/doing/normalize.rb +5 -5
  142. data/lib/doing/version.rb +1 -1
  143. data/lib/doing/wwid/display.rb +5 -2
  144. data/lib/doing/wwid/filetools.rb +1 -0
  145. data/lib/doing/wwid/filter.rb +9 -2
  146. data/lib/doing/wwid/guess.rb +13 -2
  147. data/lib/doing/wwid/interactive.rb +2 -1
  148. data/lib/doing/wwid/modify.rb +2 -1
  149. data/lib/doing.rb +2 -2
  150. data/lib/examples/commands/autotag.rb +1 -1
  151. data/lib/examples/commands/wiki.rb +1 -1
  152. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53f0eb5f3700a634fe6a9f0589033b1e3646110eb5b5ba32cd1c45bf086a87be
4
- data.tar.gz: 815659ee8f7bbe3abf5344c91c7cf4ec0307c35d9885484529039eed7ce909d2
3
+ metadata.gz: 0d4ed94eab21e2026b1f8f8674a7cf72e7b3c9c108a2e65f391d0a79e8fc4cc7
4
+ data.tar.gz: ab274fb0d4949f1e54d88a6a494f7139b46086b68d93473d4c36bbf68d1a4059
5
5
  SHA512:
6
- metadata.gz: 1e7bac3356a82e4aa195e51c89dd04b816c17c979cba25fce68cabb5f8b788166aa4ab3b47ec54f712e2c416b259585d10eaa3daf1a78abfa9495fab6dda866a
7
- data.tar.gz: ec9c25c53201375e6c164bb86e2b33078d46fab46117f1612128426d04e0f490e9d0d262cf1af398c98d688cab31d20cd7fe44a3bb3e13e1d895b4ef99b65b7b
6
+ metadata.gz: 251b853cd73c16aaf746303432db8b2fe71651fb2f5df81c040eceef98e73af3fb13af1fa70a490f976fce5bc6d0414758d8e26151113ba6a95feed96b922d04
7
+ data.tar.gz: 742d9ec1e7b467ea19516242eb845abefc30647367e3ff98cef940ef3fd3615350120cc6edf84cb1f60f81f005fd7d24e703e55085d23f0c47fc866da77c0a4a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ### 2.1.82
2
+
3
+ 2023-07-01 12:39
4
+
5
+ #### IMPROVED
6
+
7
+ - Better handling of defaults for normalize functions
8
+
9
+ #### FIXED
10
+
11
+ - Allow value of 0 to be considered a good result when testing for good values
12
+
13
+ ### 2.1.81
14
+
15
+ 2023-05-31 11:47
16
+
17
+ #### IMPROVED
18
+
19
+ - Most commands that allow --section can now take multiple values, either by using --section multiple times or providing a comma separated list of sections to the flag
20
+
1
21
  ### 2.1.80
2
22
 
3
23
  2023-03-11 10:50
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- doing (2.1.80)
4
+ doing (2.1.82)
5
5
  chronic (~> 0.10, >= 0.10.2)
6
6
  deep_merge (~> 1.2, >= 1.2.1)
7
7
  gli (~> 2.20, >= 2.20.1)
@@ -21,43 +21,43 @@ GEM
21
21
  specs:
22
22
  chronic (0.10.2)
23
23
  deep_merge (1.2.2)
24
- github-markup (4.0.0)
24
+ github-markup (4.0.1)
25
25
  gli (2.21.0)
26
26
  haml (5.0.4)
27
27
  temple (>= 0.8.0)
28
28
  tilt
29
29
  kramdown (2.4.0)
30
30
  rexml
31
- parallel (1.21.0)
32
- parallel_tests (3.7.3)
31
+ parallel (1.23.0)
32
+ parallel_tests (3.13.0)
33
33
  parallel
34
34
  parslet (2.0.0)
35
35
  pastel (0.8.0)
36
36
  tty-color (~> 0.5)
37
- plist (3.6.0)
38
- power_assert (2.0.1)
37
+ plist (3.7.0)
38
+ power_assert (2.0.3)
39
39
  rake (13.0.6)
40
40
  rdoc (6.3.3)
41
- redcarpet (3.5.1)
41
+ redcarpet (3.6.0)
42
42
  rexml (3.2.5)
43
- rouge (3.30.0)
43
+ rouge (4.1.2)
44
44
  safe_yaml (1.0.5)
45
45
  strings (0.2.1)
46
46
  strings-ansi (~> 0.2)
47
47
  unicode-display_width (>= 1.5, < 3.0)
48
48
  unicode_utils (~> 1.4)
49
49
  strings-ansi (0.2.0)
50
- temple (0.9.1)
50
+ temple (0.10.2)
51
51
  test-unit (3.4.9)
52
52
  power_assert
53
- tilt (2.0.11)
53
+ tilt (2.2.0)
54
54
  tty-color (0.6.0)
55
55
  tty-cursor (0.7.1)
56
56
  tty-link (0.1.1)
57
- tty-markdown (0.7.1)
57
+ tty-markdown (0.7.2)
58
58
  kramdown (>= 1.16.2, < 3.0)
59
59
  pastel (~> 0.8)
60
- rouge (~> 3.14)
60
+ rouge (>= 3.14, < 5.0)
61
61
  strings (~> 0.2.0)
62
62
  tty-color (~> 0.5)
63
63
  tty-screen (~> 0.8)
@@ -76,10 +76,8 @@ GEM
76
76
  tty-which (0.5.0)
77
77
  unicode-display_width (2.4.2)
78
78
  unicode_utils (1.4.0)
79
- webrick (1.7.0)
80
79
  wisper (2.0.1)
81
- yard (0.9.27)
82
- webrick (~> 1.7.0)
80
+ yard (0.9.34)
83
81
 
84
82
  PLATFORMS
85
83
  ruby
data/README.md CHANGED
@@ -12,7 +12,7 @@ _If you're one of the rare people like me who find this useful, feel free to
12
12
 
13
13
  <!--README-->
14
14
 
15
- The current version of `doing` is <!--VER-->2.1.79<!--END VER-->.
15
+ The current version of `doing` is <!--VER-->2.1.81<!--END VER-->.
16
16
 
17
17
  Find all of the documentation in the [doing wiki][wiki].
18
18
 
@@ -17,7 +17,7 @@ command %i[again resume] do |c|
17
17
 
18
18
  c.desc 'Get last entry from a specific section'
19
19
  c.arg_name 'NAME'
20
- c.flag %i[s section], default_value: 'All'
20
+ c.flag %i[s section], default_value: 'All', multiple: true
21
21
 
22
22
  c.desc 'Add new entry to section (default: same section as repeated entry)'
23
23
  c.arg_name 'SECTION_NAME'
@@ -39,7 +39,7 @@ command %i[archive move] do |c|
39
39
  elsif args[0] =~ /^@\S+/
40
40
  ['all', args.tags_to_array]
41
41
  else
42
- [args.shift.cap_first, args.tags_to_array]
42
+ [@wwid.guess_section(args.shift.cap_first), args.tags_to_array]
43
43
  end
44
44
 
45
45
  raise InvalidArgument, '--keep and --count can not be used together' if options[:keep] && options[:count]
@@ -14,7 +14,7 @@ command :cancel do |c|
14
14
 
15
15
  c.desc 'Section'
16
16
  c.arg_name 'NAME'
17
- c.flag %i[s section]
17
+ c.flag %i[s section], multiple: true
18
18
 
19
19
  c.desc 'Cancel last entry (or entries) not already marked @done'
20
20
  c.switch %i[u unfinished], negatable: false, default_value: false
@@ -41,7 +41,7 @@ module Doing
41
41
 
42
42
  cmd.desc 'Section'
43
43
  cmd.arg_name 'NAME'
44
- cmd.flag %i[s section]
44
+ cmd.flag %i[s section], multiple: true
45
45
 
46
46
  cmd.desc 'Select item(s) to finish from a menu of matching entries'
47
47
  cmd.switch %i[i interactive], negatable: false, default_value: false
data/bin/commands/flag.rb CHANGED
@@ -12,7 +12,7 @@ command %i[mark flag] do |c|
12
12
 
13
13
  c.desc 'Section'
14
14
  c.arg_name 'SECTION_NAME'
15
- c.flag %i[s section], default_value: 'All'
15
+ c.flag %i[s section], default_value: 'All', multiple: true
16
16
 
17
17
  c.desc 'How many recent entries to tag (0 for all)'
18
18
  c.arg_name 'COUNT'
data/bin/commands/grep.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # @@grep @@search
2
2
  desc 'Search for entries'
3
3
  long_desc %(
4
- Search all sections (or limit to a single section) for entries matching text or regular expression. Normal strings are fuzzy matched.
4
+ Search all sections (or limit to a specific sections) for entries matching text or regular expression. Normal strings are fuzzy matched.
5
5
 
6
6
  To search with regular expressions, single quote the string and surround with slashes: `doing search '/\bm.*?x\b/'`
7
7
  )
@@ -11,10 +11,11 @@ command %i[grep search] do |c|
11
11
  c.example 'doing search "\'search command"', desc: 'Find entries containing "search command" using exact matching (search is an alias for grep)'
12
12
  c.example 'doing grep "/do.*?wiki.*?@done/"', desc: 'Find entries matching regular expression'
13
13
  c.example 'doing search --before 12/21 "doing wiki"', desc: 'Find entries containing "doing wiki" with entry dates before 12/21 of the current year'
14
+ c.example 'doing grep @project1 -s currently -s projects', desc: 'Search only in Currently and Projects'
14
15
 
15
16
  c.desc 'Section'
16
17
  c.arg_name 'NAME'
17
- c.flag %i[s section], default_value: 'All'
18
+ c.flag %i[s section], default_value: 'All', multiple: true
18
19
 
19
20
  # c.desc '[DEPRECATED] Use alternative fuzzy matching for search string'
20
21
  # c.switch [:fuzzy], default_value: false, negatable: false
data/bin/commands/last.rb CHANGED
@@ -13,7 +13,7 @@ command :last do |c|
13
13
 
14
14
  c.desc 'Specify a section'
15
15
  c.arg_name 'NAME'
16
- c.flag %i[s section], default_value: 'All'
16
+ c.flag %i[s section], default_value: 'All', multiple: true
17
17
 
18
18
  c.desc "Edit entry with #{Doing::Util.default_editor}"
19
19
  c.switch %i[e editor], negatable: false, default_value: false
data/bin/commands/note.rb CHANGED
@@ -16,7 +16,7 @@ command :note do |c|
16
16
 
17
17
  c.desc 'Section'
18
18
  c.arg_name 'NAME'
19
- c.flag %i[s section], default_value: 'All'
19
+ c.flag %i[s section], default_value: 'All', multiple: true
20
20
 
21
21
  c.desc "Edit entry with #{Doing::Util.default_editor}"
22
22
  c.switch %i[e editor], negatable: false, default_value: false
data/bin/commands/on.rb CHANGED
@@ -13,7 +13,7 @@ command :on do |c|
13
13
 
14
14
  c.desc 'Section'
15
15
  c.arg_name 'NAME'
16
- c.flag %i[s section], default_value: 'All'
16
+ c.flag %i[s section], default_value: 'All', multiple: true
17
17
 
18
18
  add_options(:output_template, c)
19
19
  add_options(:time_display, c)
@@ -11,7 +11,7 @@ command :recent do |c|
11
11
 
12
12
  c.desc 'Section'
13
13
  c.arg_name 'NAME'
14
- c.flag %i[s section], default_value: 'All'
14
+ c.flag %i[s section], default_value: 'All', multiple: true
15
15
 
16
16
  c.desc 'Select from a menu of matching entries to perform additional operations'
17
17
  c.switch %i[i interactive], negatable: false, default_value: false
@@ -12,7 +12,7 @@ command %i[reset begin] do |c|
12
12
 
13
13
  c.desc 'Limit search to section'
14
14
  c.arg_name 'NAME'
15
- c.flag %i[s section], default_value: 'All'
15
+ c.flag %i[s section], default_value: 'All', multiple: true
16
16
 
17
17
  c.desc 'Resume entry (remove @done)'
18
18
  c.switch %i[r resume], default_value: true
@@ -23,7 +23,7 @@ command :select do |c|
23
23
 
24
24
  c.desc 'Select from a specific section'
25
25
  c.arg_name 'SECTION'
26
- c.flag %i[s section]
26
+ c.flag %i[s section], multiple: true
27
27
 
28
28
  c.desc 'Tag selected entries'
29
29
  c.arg_name 'TAG'
data/bin/commands/show.rb CHANGED
@@ -38,7 +38,7 @@ command :show do |c|
38
38
 
39
39
  c.desc 'Only show entries within section'
40
40
  c.arg_name 'NAME'
41
- c.flag %i[s section]
41
+ c.flag %i[s section], multiple: true
42
42
 
43
43
  c.desc 'Select section or tag to display from a menu'
44
44
  c.switch %i[m menu], negatable: false, default_value: false
@@ -68,14 +68,15 @@ command :show do |c|
68
68
  when /^all$/i
69
69
  section = 'All'
70
70
  args.shift
71
- when /^(choose|pick)$/i
71
+ when /^(choose|pick|menu)$/i
72
72
  section = @wwid.choose_section(include_all: true)
73
73
 
74
74
  args.shift
75
75
  when /^[@+-]/
76
76
  section = options[:section] ? @wwid.guess_section(options[:section]) : 'All'
77
77
  else
78
- sect = options[:section] ? options[:section] : args[0]
78
+ sect = options[:section].empty? ? args[0] : options[:section]
79
+
79
80
  begin
80
81
  section = @wwid.guess_section(sect)
81
82
  rescue WrongCommand
@@ -88,6 +89,7 @@ command :show do |c|
88
89
 
89
90
  args.shift
90
91
  end
92
+
91
93
  if args.length.positive?
92
94
  args.each do |arg|
93
95
  arg.split(/,/).each do |tag|
@@ -96,11 +98,11 @@ command :show do |c|
96
98
  end
97
99
  end
98
100
  else
99
- if options[:section]
100
- section = @wwid.guess_section(options[:section]) || 'All'
101
- else
102
- section = options[:menu] ? @wwid.choose_section(include_all: true) : Doing.setting('current_section')
103
- end
101
+ section = if options[:section] && !options[:section].empty?
102
+ @wwid.guess_section(options[:section]) || 'All'
103
+ else
104
+ options[:menu] ? @wwid.choose_section(include_all: true) : Doing.setting('current_section')
105
+ end
104
106
  section ||= 'All'
105
107
  end
106
108
 
@@ -109,11 +111,11 @@ command :show do |c|
109
111
  options[:times] = true if options[:totals]
110
112
 
111
113
  template = Doing.setting(['templates', options[:config_template]]).deep_merge({
112
- 'wrap_width' => Doing.setting('wrap_width') || 0,
113
- 'date_format' => Doing.setting('default_date_format'),
114
- 'order' => Doing.setting('order')&.normalize_order || :asc,
115
- 'tags_color' => Doing.setting('tags_color')
116
- })
114
+ 'wrap_width' => Doing.setting('wrap_width') || 0,
115
+ 'date_format' => Doing.setting('default_date_format'),
116
+ 'order' => Doing.setting('order')&.normalize_order || :asc,
117
+ 'tags_color' => Doing.setting('tags_color')
118
+ })
117
119
 
118
120
  if options[:search]
119
121
  search = options[:search]
@@ -9,7 +9,7 @@ command :since do |c|
9
9
 
10
10
  c.desc 'Section'
11
11
  c.arg_name 'NAME'
12
- c.flag %i[s section], default_value: 'All'
12
+ c.flag %i[s section], default_value: 'All', multiple: true
13
13
 
14
14
  add_options(:output_template, c)
15
15
  add_options(:time_display, c)
data/bin/commands/tag.rb CHANGED
@@ -23,7 +23,7 @@ command :tag do |c|
23
23
 
24
24
  c.desc 'Section'
25
25
  c.arg_name 'SECTION_NAME'
26
- c.flag %i[s section], default_value: 'All'
26
+ c.flag %i[s section], default_value: 'All', multiple: true
27
27
 
28
28
  c.desc 'How many recent entries to tag (0 for all)'
29
29
  c.arg_name 'COUNT'
@@ -73,25 +73,18 @@ command :tag do |c|
73
73
  section = @wwid.guess_section(options[:section]) || options[:section].cap_first
74
74
  end
75
75
 
76
-
77
- if options[:tag].nil?
78
- search_tags = []
79
- else
80
- search_tags = options[:tag]
81
- end
76
+ search_tags = options[:tag].nil? ? [] : options[:tag]
82
77
 
83
78
  if options[:autotag]
84
79
  tags = []
85
80
  else
86
- if args.empty?
87
- tags = []
88
- else
89
- tags = if args.join('') =~ /,/
90
- args.join('').split(/ *, */)
91
- else
92
- args.join(' ').split(' ') # in case tags are quoted as one arg
93
- end
94
- end
81
+ tags = if args.empty?
82
+ []
83
+ elsif args.join('') =~ /,/
84
+ args.join('').split(/ *, */)
85
+ else
86
+ args.join(' ').split(' ') # in case tags are quoted as one arg
87
+ end
95
88
 
96
89
  tags.map! { |tag| tag.sub(/^@/, '').strip }
97
90
  end
data/bin/commands/tags.rb CHANGED
@@ -4,7 +4,7 @@ arg_name 'MAX_COUNT', optional: true, type: Integer
4
4
  command :tags do |c|
5
5
  c.desc 'Section'
6
6
  c.arg_name 'SECTION_NAME'
7
- c.flag %i[s section], default_value: 'All'
7
+ c.flag %i[s section], default_value: 'All', multiple: true
8
8
 
9
9
  c.desc 'Show count of occurrences'
10
10
  c.switch %i[c counts]
@@ -10,7 +10,7 @@ command :today do |c|
10
10
 
11
11
  c.desc 'Specify a section'
12
12
  c.arg_name 'NAME'
13
- c.flag %i[s section], default_value: 'All'
13
+ c.flag %i[s section], default_value: 'All', multiple: true
14
14
 
15
15
  add_options(:output_template, c, default_template: 'today')
16
16
  add_options(:time_filter, c)
data/bin/commands/view.rb CHANGED
@@ -9,7 +9,7 @@ command :view do |c|
9
9
 
10
10
  c.desc 'Section'
11
11
  c.arg_name 'NAME'
12
- c.flag %i[s section]
12
+ c.flag %i[s section], multiple: true
13
13
 
14
14
  c.desc 'Count to display'
15
15
  c.arg_name 'COUNT'
@@ -82,7 +82,7 @@ module Doing
82
82
  res = if @options[:output] =~ /^j/i
83
83
  JSON.parse(@wwid.fork_editor(JSON.pretty_generate(@views), message: nil))
84
84
  else
85
- YAML.safe_load(@wwid.fork_editor(YAML.dump(@views), message: nil))
85
+ Doing::Util.safe_load_file(@wwid.fork_editor(YAML.dump(@views), message: nil))
86
86
  end
87
87
  @args.each do |v|
88
88
  save_view(v, res)
@@ -9,7 +9,7 @@ command :yesterday do |c|
9
9
 
10
10
  c.desc 'Specify a section'
11
11
  c.arg_name 'NAME'
12
- c.flag %i[s section], default_value: 'All'
12
+ c.flag %i[s section], default_value: 'All', multiple: true
13
13
 
14
14
  add_options(:output_template, c, default_template: 'today')
15
15
  add_options(:time_filter, c)
data/docs/doc/Array.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Array
8
8
 
9
- &mdash; Documentation by YARD 0.9.28
9
+ &mdash; Documentation by YARD 0.9.34
10
10
 
11
11
  </title>
12
12
 
@@ -138,6 +138,29 @@
138
138
  <li class="public ">
139
139
  <span class="summary_signature">
140
140
 
141
+ <a href="#cap_first-instance_method" title="#cap_first (instance method)">#<strong>cap_first</strong> &#x21d2; Array </a>
142
+
143
+
144
+
145
+ </span>
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+ <span class="summary_desc"><div class='inline'><p>Capitalize first letter of each element.</p>
156
+ </div></span>
157
+
158
+ </li>
159
+
160
+
161
+ <li class="public ">
162
+ <span class="summary_signature">
163
+
141
164
  <a href="#good%3F-instance_method" title="#good? (instance method)">#<strong>good?</strong> &#x21d2; Boolean </a>
142
165
 
143
166
 
@@ -205,7 +228,46 @@
205
228
 
206
229
 
207
230
  <div class="method_details first">
208
- <h3 class="signature first" id="good?-instance_method">
231
+ <h3 class="signature first" id="cap_first-instance_method">
232
+
233
+ #<strong>cap_first</strong> &#x21d2; <tt><span class='object_link'><a href="" title="Array (class)">Array</a></span></tt>
234
+
235
+
236
+
237
+
238
+
239
+ </h3><div class="docstring">
240
+ <div class="discussion">
241
+ <p>Capitalize first letter of each element</p>
242
+
243
+
244
+ </div>
245
+ </div>
246
+ <div class="tags">
247
+
248
+ <p class="tag_title">Returns:</p>
249
+ <ul class="return">
250
+
251
+ <li>
252
+
253
+
254
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Array (class)">Array</a></span></tt>)</span>
255
+
256
+
257
+
258
+ &mdash;
259
+ <div class='inline'><p>capitalized items</p>
260
+ </div>
261
+
262
+ </li>
263
+
264
+ </ul>
265
+
266
+ </div>
267
+ </div>
268
+
269
+ <div class="method_details ">
270
+ <h3 class="signature " id="good?-instance_method">
209
271
 
210
272
  #<strong>good?</strong> &#x21d2; <tt>Boolean</tt>
211
273
 
@@ -288,9 +350,9 @@ has content</p>
288
350
  </div>
289
351
 
290
352
  <div id="footer">
291
- Generated on Sat Mar 11 10:54:31 2023 by
353
+ Generated on Sat Jul 1 12:43:13 2023 by
292
354
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
293
- 0.9.28 (ruby-3.0.1).
355
+ 0.9.34 (ruby-3.2.0).
294
356
  </div>
295
357
 
296
358
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: BooleanTermParser::Clause
8
8
 
9
- &mdash; Documentation by YARD 0.9.28
9
+ &mdash; Documentation by YARD 0.9.34
10
10
 
11
11
  </title>
12
12
 
@@ -283,9 +283,9 @@
283
283
  </div>
284
284
 
285
285
  <div id="footer">
286
- Generated on Sat Mar 11 10:54:31 2023 by
286
+ Generated on Sat Jul 1 12:43:15 2023 by
287
287
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
288
- 0.9.28 (ruby-3.0.1).
288
+ 0.9.34 (ruby-3.2.0).
289
289
  </div>
290
290
 
291
291
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: BooleanTermParser::Operator
8
8
 
9
- &mdash; Documentation by YARD 0.9.28
9
+ &mdash; Documentation by YARD 0.9.34
10
10
 
11
11
  </title>
12
12
 
@@ -162,9 +162,9 @@
162
162
  </div>
163
163
 
164
164
  <div id="footer">
165
- Generated on Sat Mar 11 10:54:31 2023 by
165
+ Generated on Sat Jul 1 12:43:15 2023 by
166
166
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
167
- 0.9.28 (ruby-3.0.1).
167
+ 0.9.34 (ruby-3.2.0).
168
168
  </div>
169
169
 
170
170
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: BooleanTermParser::Query
8
8
 
9
- &mdash; Documentation by YARD 0.9.28
9
+ &mdash; Documentation by YARD 0.9.34
10
10
 
11
11
  </title>
12
12
 
@@ -407,9 +407,9 @@
407
407
  </div>
408
408
 
409
409
  <div id="footer">
410
- Generated on Sat Mar 11 10:54:31 2023 by
410
+ Generated on Sat Jul 1 12:43:15 2023 by
411
411
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
412
- 0.9.28 (ruby-3.0.1).
412
+ 0.9.34 (ruby-3.2.0).
413
413
  </div>
414
414
 
415
415
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: BooleanTermParser::QueryParser
8
8
 
9
- &mdash; Documentation by YARD 0.9.28
9
+ &mdash; Documentation by YARD 0.9.34
10
10
 
11
11
  </title>
12
12
 
@@ -125,9 +125,9 @@ parser. In order to do that, a new &quot;clause&quot; node is added to the parse
125
125
  </div>
126
126
 
127
127
  <div id="footer">
128
- Generated on Sat Mar 11 10:54:31 2023 by
128
+ Generated on Sat Jul 1 12:43:15 2023 by
129
129
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
- 0.9.28 (ruby-3.0.1).
130
+ 0.9.34 (ruby-3.2.0).
131
131
  </div>
132
132
 
133
133
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: BooleanTermParser::QueryTransformer
8
8
 
9
- &mdash; Documentation by YARD 0.9.28
9
+ &mdash; Documentation by YARD 0.9.34
10
10
 
11
11
  </title>
12
12
 
@@ -114,9 +114,9 @@
114
114
  </div>
115
115
 
116
116
  <div id="footer">
117
- Generated on Sat Mar 11 10:54:31 2023 by
117
+ Generated on Sat Jul 1 12:43:15 2023 by
118
118
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
119
- 0.9.28 (ruby-3.0.1).
119
+ 0.9.34 (ruby-3.2.0).
120
120
  </div>
121
121
 
122
122
  </div>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Module: BooleanTermParser
8
8
 
9
- &mdash; Documentation by YARD 0.9.28
9
+ &mdash; Documentation by YARD 0.9.34
10
10
 
11
11
  </title>
12
12
 
@@ -105,9 +105,9 @@
105
105
  </div>
106
106
 
107
107
  <div id="footer">
108
- Generated on Sat Mar 11 10:54:31 2023 by
108
+ Generated on Sat Jul 1 12:43:13 2023 by
109
109
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
110
- 0.9.28 (ruby-3.0.1).
110
+ 0.9.34 (ruby-3.2.0).
111
111
  </div>
112
112
 
113
113
  </div>