rbnotes 0.4.18 → 0.4.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/Gemfile.lock +1 -1
- data/LICENSE +1 -1
- data/lib/rbnotes/commands/list.rb +22 -17
- data/lib/rbnotes/commands/search.rb +34 -2
- data/lib/rbnotes/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b77835e83f5e0d1397d86e19cde13466b02cfb84d211d2521c7180f2e362861
|
4
|
+
data.tar.gz: 28821a8a8b53df64caf1c06baa83d61ffd63ae4a739199971e9d560111fc709f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1aad71bb657dd5c3fd9ec40b493fb3290df4e21a4b333bd8c7bb1cfe0368ae226eff1cee04615fc2f7a5cd7054593de20924d1722e88743d9faf686eb8959298
|
7
|
+
data.tar.gz: 3c4a1631efceb61c11f90cc3c97dcdeeb9a7b8dee3cc5cabb3b5071af9e97ce01296fefba830a346edfdf7fd28a3a6930793b1d09e185c3d0c2615bf73f18d32
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
7
7
|
## [Unreleased]
|
8
8
|
- (nothing to record here)
|
9
9
|
|
10
|
+
## [0.4.19] - 2021-05-24
|
11
|
+
### Added
|
12
|
+
- Add an option to search in only the subject of each note. (#128)
|
13
|
+
|
14
|
+
### Modified
|
15
|
+
- Update copyright year in `LICENSE`. (#127)
|
16
|
+
|
17
|
+
### Fixed
|
18
|
+
- Fix #129: add description about the keyword, "all."
|
19
|
+
|
10
20
|
## [0.4.18] - 2021-04-29
|
11
21
|
### Added
|
12
22
|
- Use ERB to generate the initial content of a new note from the
|
data/Gemfile.lock
CHANGED
data/LICENSE
CHANGED
@@ -33,6 +33,7 @@ module Rbnotes::Commands
|
|
33
33
|
# - "last_week" (or "lw")
|
34
34
|
# - "this_month" (or "tm")
|
35
35
|
# - "last_month" (or "lm")
|
36
|
+
# - "all"
|
36
37
|
#
|
37
38
|
# Here is several examples of timestamp patterns.
|
38
39
|
#
|
@@ -106,23 +107,6 @@ OPTIONS:
|
|
106
107
|
-v, --verbose
|
107
108
|
-w, --week
|
108
109
|
|
109
|
-
STAMP_PATTERN must be:
|
110
|
-
|
111
|
-
(a) full qualified timestamp (with suffix): "20201030160200"
|
112
|
-
(b) year and date part: "20201030"
|
113
|
-
(c) year and month part: "202010"
|
114
|
-
(d) year part only: "2020"
|
115
|
-
(e) date part only: "1030"
|
116
|
-
|
117
|
-
KEYWORD:
|
118
|
-
|
119
|
-
- "today" (or "to")
|
120
|
-
- "yeasterday" (or "ye")
|
121
|
-
- "this_week" (or "tw")
|
122
|
-
- "last_week" (or "lw")
|
123
|
-
- "this_month" (or "tm")
|
124
|
-
- "last_month" (or "lm")
|
125
|
-
|
126
110
|
An option "--verbose" is acceptable. It specifies to counts number of
|
127
111
|
notes by each day, then put it with the date before notes. It looks
|
128
112
|
like as follows:
|
@@ -140,11 +124,32 @@ days of a week. Typically, the option is used with a STAMP_PATTERN
|
|
140
124
|
which specifies a date, such "20201117", then it enumerates all days
|
141
125
|
of the week which contains "17th November 2020".
|
142
126
|
|
127
|
+
STAMP_PATTERN must be:
|
128
|
+
|
129
|
+
(a) full qualified timestamp (with suffix): "20201030160200"
|
130
|
+
(b) year and date part: "20201030"
|
131
|
+
(c) year and month part: "202010"
|
132
|
+
(d) year part only: "2020"
|
133
|
+
(e) date part only: "1030"
|
134
|
+
|
143
135
|
A STAMP_PATTERN other than (a) and (b) causes an error if it was used
|
144
136
|
with "--week" option.
|
145
137
|
|
146
138
|
When no STAMP_PATTERN was specified with "--week" option, the output
|
147
139
|
would be as same as the KEYWORD, "this_week" was specified.
|
140
|
+
|
141
|
+
KEYWORD:
|
142
|
+
|
143
|
+
- "today" (or "to")
|
144
|
+
- "yeasterday" (or "ye")
|
145
|
+
- "this_week" (or "tw")
|
146
|
+
- "last_week" (or "lw")
|
147
|
+
- "this_month" (or "tm")
|
148
|
+
- "last_month" (or "lm")
|
149
|
+
- "all"
|
150
|
+
|
151
|
+
The keyword, "all" specifies to enumerate all notes in the repository.
|
152
|
+
|
148
153
|
HELP
|
149
154
|
end
|
150
155
|
|
@@ -29,6 +29,9 @@ module Rbnotes::Commands
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def execute(args, conf)
|
32
|
+
@opts = {}
|
33
|
+
parse_opts(args)
|
34
|
+
|
32
35
|
pattern = args.shift
|
33
36
|
raise MissingArgumentError, args if pattern.nil?
|
34
37
|
|
@@ -46,11 +49,18 @@ module Rbnotes::Commands
|
|
46
49
|
def help # :nodoc:
|
47
50
|
puts <<HELP
|
48
51
|
usage:
|
49
|
-
#{Rbnotes::NAME} search PATTERN [STAMP_PATTERN]
|
52
|
+
#{Rbnotes::NAME} search [OPTIONS] PATTERN [STAMP_PATTERN]
|
50
53
|
|
51
54
|
PATTERN is a word (or words) to search, it may also be a regular
|
52
55
|
expression.
|
53
56
|
|
57
|
+
OPTIONS:
|
58
|
+
-s, --subject-only
|
59
|
+
|
60
|
+
An option "--subject-only" is acceptable. It specifies to search in
|
61
|
+
only the subject of each note. The subject means the first line of
|
62
|
+
the note text.
|
63
|
+
|
54
64
|
STAMP_PATTERN must be:
|
55
65
|
|
56
66
|
(a) full qualified timestamp (with suffix): "20201030160200"
|
@@ -58,11 +68,25 @@ STAMP_PATTERN must be:
|
|
58
68
|
(c) year and month part: "202010"
|
59
69
|
(d) year part only: "2020"
|
60
70
|
(e) date part only: "1030"
|
71
|
+
|
61
72
|
HELP
|
62
73
|
end
|
63
74
|
|
64
75
|
private
|
65
76
|
|
77
|
+
def parse_opts(args)
|
78
|
+
while args.size > 0
|
79
|
+
arg = args.shift
|
80
|
+
case arg
|
81
|
+
when "-s", "--subject-only"
|
82
|
+
@opts[:subject_only] = true
|
83
|
+
else
|
84
|
+
args.unshift(arg)
|
85
|
+
break
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
66
90
|
# Each entry of search result is:
|
67
91
|
#
|
68
92
|
# [<timestamp>, <line_number>, <matched_text>]
|
@@ -84,6 +108,10 @@ HELP
|
|
84
108
|
}
|
85
109
|
|
86
110
|
def print_search_result(entries)
|
111
|
+
if @opts[:subject_only]
|
112
|
+
entries.select!{|e| e.line_number == 1}
|
113
|
+
end
|
114
|
+
|
87
115
|
maxcol_stamp = entries.map(&:timestamp_size).max
|
88
116
|
maxcol_num = entries.map(&:line_number_digits_size).max
|
89
117
|
|
@@ -91,7 +119,11 @@ HELP
|
|
91
119
|
stamp_display = "%- *s" % [maxcol_stamp, e.timestamp]
|
92
120
|
num_display = "%*d" % [maxcol_num, e.line_number]
|
93
121
|
|
94
|
-
|
122
|
+
if @opts[:subject_only]
|
123
|
+
puts "#{stamp_display}: #{e.matched_text}"
|
124
|
+
else
|
125
|
+
puts "#{stamp_display}: #{num_display}: #{e.matched_text}"
|
126
|
+
end
|
95
127
|
}
|
96
128
|
end
|
97
129
|
|
data/lib/rbnotes/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbnotes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mnbi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: textrepo
|