na 1.1.15 → 1.1.17
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 +16 -0
- data/Gemfile.lock +3 -1
- data/README.md +1 -1
- data/bin/na +30 -2
- data/lib/na/action.rb +48 -20
- data/lib/na/version.rb +1 -1
- data/lib/na.rb +2 -0
- data/na.gemspec +1 -0
- data/src/README.md +1 -1
- metadata +21 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1f08f513ef3290991ee52c4688331b2725ddc192875bb28fea96f167da4c410
|
4
|
+
data.tar.gz: 7f354ea08863cc9c1c1df2b852fc8d6eb692d9a33dbf796f43e1e4bc639a27f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b74b4c889bfd689398064a826be50599a75f7306cd45acef3abfd5704d23a284abac6b655d9344ebfcec23ec283a52b891fd3426c8cbec6c90fe2ead70665f38
|
7
|
+
data.tar.gz: d960babf95647b691ecb5f16b93b7e872121c2208a79cfc2dab9be6d88479e59e8f3013697338e2dfd62f062dd1a4e07e335c46fedc41c6a1e2c440a4774a9c7
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
### 1.1.17
|
2
|
+
|
3
|
+
2022-10-06 17:02
|
4
|
+
|
5
|
+
#### CHANGED
|
6
|
+
|
7
|
+
- Default to AND search with `tagged` unless a "+" or "!" is specified
|
8
|
+
|
9
|
+
### 1.1.16
|
10
|
+
|
11
|
+
2022-10-06 16:47
|
12
|
+
|
13
|
+
#### NEW
|
14
|
+
|
15
|
+
- `--in todo/path` flag for `find` and `tagged` commands to specify a todo file from history
|
16
|
+
|
1
17
|
### 1.1.15
|
2
18
|
|
3
19
|
2022-10-06 16:12
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
na (1.1.
|
4
|
+
na (1.1.17)
|
5
|
+
chronic (~> 0.10, >= 0.10.2)
|
5
6
|
gli (~> 2.21.0)
|
6
7
|
tty-reader (~> 0.9, >= 0.9.0)
|
7
8
|
tty-screen (~> 0.8, >= 0.8.1)
|
@@ -10,6 +11,7 @@ PATH
|
|
10
11
|
GEM
|
11
12
|
remote: https://rubygems.org/
|
12
13
|
specs:
|
14
|
+
chronic (0.10.2)
|
13
15
|
gli (2.21.0)
|
14
16
|
minitest (5.16.3)
|
15
17
|
rake (0.9.6)
|
data/README.md
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
_If you're one of the rare people like me who find this useful, feel free to
|
10
10
|
[buy me some coffee][donate]._
|
11
11
|
|
12
|
-
The current version of `na` is 1.1.
|
12
|
+
The current version of `na` is 1.1.17
|
13
13
|
.
|
14
14
|
|
15
15
|
`na` ("next action") is a command line tool designed to make it easy to see what your next actions are for any project, right from the command line. It works with TaskPaper-formatted files (but any plain text format will do), looking for `@na` tags (or whatever you specify) in todo files in your current folder.
|
data/bin/na
CHANGED
@@ -249,6 +249,10 @@ class App
|
|
249
249
|
c.arg_name 'DEPTH'
|
250
250
|
c.flag %i[d depth], type: :integer, must_match: /^\d+$/
|
251
251
|
|
252
|
+
c.desc 'Show actions from a specific todo file in history'
|
253
|
+
c.arg_name 'TODO_PATH'
|
254
|
+
c.flag %i[in]
|
255
|
+
|
252
256
|
c.desc 'Show actions from a specific project'
|
253
257
|
c.arg_name 'PROJECT[/SUBPROJECT]'
|
254
258
|
c.flag %i[proj project]
|
@@ -281,7 +285,16 @@ class App
|
|
281
285
|
end
|
282
286
|
end
|
283
287
|
|
288
|
+
todo = nil
|
289
|
+
if options[:in]
|
290
|
+
todo = [{
|
291
|
+
token: options[:in],
|
292
|
+
required: true
|
293
|
+
}]
|
294
|
+
end
|
295
|
+
|
284
296
|
files, actions = NA.parse_actions(depth: depth,
|
297
|
+
query: todo,
|
285
298
|
search: tokens,
|
286
299
|
negate: options[:invert],
|
287
300
|
regex: options[:regex],
|
@@ -312,6 +325,10 @@ class App
|
|
312
325
|
c.default_value 1
|
313
326
|
c.flag %i[d depth], type: :integer, must_match: /^\d+$/
|
314
327
|
|
328
|
+
c.desc 'Show actions from a specific todo file in history'
|
329
|
+
c.arg_name 'TODO_PATH'
|
330
|
+
c.flag %i[in]
|
331
|
+
|
315
332
|
c.desc 'Show actions from a specific project'
|
316
333
|
c.arg_name 'PROJECT[/SUBPROJECT]'
|
317
334
|
c.flag %i[proj project]
|
@@ -327,19 +344,30 @@ class App
|
|
327
344
|
end
|
328
345
|
|
329
346
|
tags = []
|
347
|
+
|
348
|
+
all_req = args.join(' ') !~ /[+!\-]/
|
330
349
|
args.join(',').split(/ *, */).each do |arg|
|
331
350
|
# TODO: <> comparisons do nothing right now
|
332
|
-
m = arg.match(/^(?<req>[+\-!])?(?<tag>[^ =<>*$\^]+)(?:(?<op>[=<>*$\^]+)(?<val
|
351
|
+
m = arg.match(/^(?<req>[+\-!])?(?<tag>[^ =<>*$\^]+)(?:(?<op>[=<>*$\^]+)(?<val>.*?))?$/)
|
333
352
|
tags.push({
|
334
353
|
tag: m['tag'],
|
335
354
|
comp: m['op'],
|
336
355
|
value: m['val'],
|
337
|
-
required: !m['req'].nil? && m['req'] == '+',
|
356
|
+
required: all_req || (!m['req'].nil? && m['req'] == '+'),
|
338
357
|
negate: !m['req'].nil? && m['req'] =~ /[!\-]/
|
339
358
|
})
|
340
359
|
end
|
341
360
|
|
361
|
+
todo = nil
|
362
|
+
if options[:in]
|
363
|
+
todo = [{
|
364
|
+
token: options[:in],
|
365
|
+
required: true
|
366
|
+
}]
|
367
|
+
end
|
368
|
+
|
342
369
|
files, actions = NA.parse_actions(depth: depth,
|
370
|
+
query: todo,
|
343
371
|
tag: tags,
|
344
372
|
negate: options[:invert],
|
345
373
|
project: options[:project],
|
data/lib/na/action.rb
CHANGED
@@ -136,26 +136,54 @@ module NA
|
|
136
136
|
|
137
137
|
return false if tag_val.nil?
|
138
138
|
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
139
|
+
begin
|
140
|
+
tag_date = Time.parse(tag_val)
|
141
|
+
date = Chronic.parse(val)
|
142
|
+
|
143
|
+
puts "Comparing #{tag_date} #{tag[:comp]} #{date}" if NA.verbose
|
144
|
+
|
145
|
+
case tag[:comp]
|
146
|
+
when /^>$/
|
147
|
+
tag_date > date
|
148
|
+
when /^<$/
|
149
|
+
tag_date < date
|
150
|
+
when /^<=$/
|
151
|
+
tag_date <= date
|
152
|
+
when /^>=$/
|
153
|
+
tag_date >= date
|
154
|
+
when /^==?$/
|
155
|
+
tag_date == date
|
156
|
+
when /^\$=$/
|
157
|
+
tag_val =~ /#{val.wildcard_to_rx}/i
|
158
|
+
when /^\*=$/
|
159
|
+
tag_val =~ /#{val.wildcard_to_rx}/i
|
160
|
+
when /^\^=$/
|
161
|
+
tag_val =~ /^#{val.wildcard_to_rx}/
|
162
|
+
else
|
163
|
+
false
|
164
|
+
end
|
165
|
+
rescue
|
166
|
+
case tag[:comp]
|
167
|
+
when /^>$/
|
168
|
+
tag_val.to_f > val.to_f
|
169
|
+
when /^<$/
|
170
|
+
tag_val.to_f < val.to_f
|
171
|
+
when /^<=$/
|
172
|
+
tag_val.to_f <= val.to_f
|
173
|
+
when /^>=$/
|
174
|
+
tag_val.to_f >= val.to_f
|
175
|
+
when /^==?$/
|
176
|
+
tag_val =~ /^#{val.wildcard_to_rx}$/
|
177
|
+
when /^\$=$/
|
178
|
+
tag_val =~ /#{val.wildcard_to_rx}$/i
|
179
|
+
when /^\*=$/
|
180
|
+
tag_val =~ /#{val.wildcard_to_rx}/i
|
181
|
+
when /^\^=$/
|
182
|
+
tag_val =~ /^#{val.wildcard_to_rx}/
|
183
|
+
else
|
184
|
+
false
|
185
|
+
end
|
186
|
+
end
|
159
187
|
end
|
160
188
|
|
161
189
|
def scan_tags
|
data/lib/na/version.rb
CHANGED
data/lib/na.rb
CHANGED
data/na.gemspec
CHANGED
@@ -30,4 +30,5 @@ spec = Gem::Specification.new do |s|
|
|
30
30
|
s.add_runtime_dependency('tty-reader', '~> 0.9', '>= 0.9.0')
|
31
31
|
s.add_runtime_dependency('tty-screen', '~> 0.8', '>= 0.8.1')
|
32
32
|
s.add_runtime_dependency('tty-which', '~> 0.5', '>= 0.5.0')
|
33
|
+
s.add_runtime_dependency('chronic', '~> 0.10', '>= 0.10.2')
|
33
34
|
end
|
data/src/README.md
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
_If you're one of the rare people like me who find this useful, feel free to
|
10
10
|
[buy me some coffee][donate]._
|
11
11
|
|
12
|
-
The current version of `na` is <!--VER-->1.1.
|
12
|
+
The current version of `na` is <!--VER-->1.1.16<!--END VER-->.
|
13
13
|
|
14
14
|
`na` ("next action") is a command line tool designed to make it easy to see what your next actions are for any project, right from the command line. It works with TaskPaper-formatted files (but any plain text format will do), looking for `@na` tags (or whatever you specify) in todo files in your current folder.
|
15
15
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: na
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Terpstra
|
@@ -146,6 +146,26 @@ dependencies:
|
|
146
146
|
- - ">="
|
147
147
|
- !ruby/object:Gem::Version
|
148
148
|
version: 0.5.0
|
149
|
+
- !ruby/object:Gem::Dependency
|
150
|
+
name: chronic
|
151
|
+
requirement: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
153
|
+
- - "~>"
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '0.10'
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 0.10.2
|
159
|
+
type: :runtime
|
160
|
+
prerelease: false
|
161
|
+
version_requirements: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0.10'
|
166
|
+
- - ">="
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: 0.10.2
|
149
169
|
description: A tool for managing a TaskPaper file of project todos for the current
|
150
170
|
directory. Easily create "next actions" to come back to, add tags and priorities,
|
151
171
|
and notes. Add prompt hooks to display your next actions automatically when cd'ing
|