na 1.2.57 → 1.2.59
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/Gemfile.lock +1 -1
- data/README.md +4 -2
- data/bin/commands/next.rb +5 -3
- data/lib/na/next_action.rb +1 -2
- data/lib/na/string.rb +11 -1
- data/lib/na/todo.rb +6 -1
- data/lib/na/version.rb +1 -1
- data/src/_README.md +1 -1
- data/test.md +16 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 271fbdd631a1b52f0f642ceb291de5b1827282b568d0b510d4cf3ab745660327
|
4
|
+
data.tar.gz: 730d5d92191a55c352282429f16215a0a2aab0087bb7072278034d44340ac0ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b67d5f684b95260f3df6b991b9ad86004ab0a55a088f71aaf7028ac41671538109315dbc8e96188cc4ab3efd37472d1da1d3bf2c1f51cd2af3757bf687f5463
|
7
|
+
data.tar.gz: 8c3af84aac1bcc1355dcc0eb116146c28cbb2da00d6d636516a58d533bb71aff02960034fcdad9773989e746a01d7e64e0865bf20f3896092ecb4edf7a1475df
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
### 1.2.59
|
2
|
+
|
3
|
+
2023-10-03 07:43
|
4
|
+
|
5
|
+
#### IMPROVED
|
6
|
+
|
7
|
+
- Ignore all YAML headers, even with empty values (which can be mistaked for a project)
|
8
|
+
|
9
|
+
#### FIXED
|
10
|
+
|
11
|
+
- Inserting new project after first project or inside of existing project
|
12
|
+
|
13
|
+
### 1.2.58
|
14
|
+
|
15
|
+
2023-09-12 14:11
|
16
|
+
|
17
|
+
#### NEW
|
18
|
+
|
19
|
+
- `na next --all` to display next actions from all known todo files (any directory)
|
20
|
+
|
21
|
+
#### IMPROVED
|
22
|
+
|
23
|
+
- Middle truncate directory names longer than 1/3 of the screen width
|
24
|
+
|
1
25
|
### 1.2.57
|
2
26
|
|
3
27
|
2023-09-11 16:43
|
data/Gemfile.lock
CHANGED
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.2.
|
12
|
+
The current version of `na` is 1.2.59
|
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.
|
@@ -77,7 +77,7 @@ SYNOPSIS
|
|
77
77
|
na [global options] command [command options] [arguments...]
|
78
78
|
|
79
79
|
VERSION
|
80
|
-
1.2.
|
80
|
+
1.2.59
|
81
81
|
|
82
82
|
GLOBAL OPTIONS
|
83
83
|
-a, --add - Add a next action (deprecated, for backwards compatibility)
|
@@ -284,6 +284,7 @@ DESCRIPTION
|
|
284
284
|
Next actions are actions which contain the next action tag (default @na), do not contain @done, and are not in the Archive project. Arguments will target a todo file from history, whether it's in the current directory or not. Todo file queries can include path components separated by / or :, and may use wildcards (`*` to match any text, `?` to match a single character). Multiple queries allowed (separate arguments or separated by comma).
|
285
285
|
|
286
286
|
COMMAND OPTIONS
|
287
|
+
--all - Show next actions from all known todo files (in any directory)
|
287
288
|
-d, --depth=DEPTH - Recurse to depth (default: none)
|
288
289
|
--[no-]done - Include @done actions
|
289
290
|
--exact - Search query is exact text match (not tokens)
|
@@ -397,6 +398,7 @@ DESCRIPTION
|
|
397
398
|
Next actions are actions which contain the next action tag (default @na), do not contain @done, and are not in the Archive project. Arguments will target a todo file from history, whether it's in the current directory or not. Todo file queries can include path components separated by / or :, and may use wildcards (`*` to match any text, `?` to match a single character). Multiple queries allowed (separate arguments or separated by comma).
|
398
399
|
|
399
400
|
COMMAND OPTIONS
|
401
|
+
--all - Show next actions from all known todo files (in any directory)
|
400
402
|
-d, --depth=DEPTH - Recurse to depth (default: none)
|
401
403
|
--[no-]done - Include @done actions
|
402
404
|
--exact - Search query is exact text match (not tokens)
|
data/bin/commands/next.rb
CHANGED
@@ -19,6 +19,9 @@ class App
|
|
19
19
|
c.arg_name 'DEPTH'
|
20
20
|
c.flag %i[d depth], type: :integer, must_match: /^[1-9]$/
|
21
21
|
|
22
|
+
c.desc 'Show next actions from all known todo files (in any directory)'
|
23
|
+
c.switch %i[all], negatable: false, default_value: false
|
24
|
+
|
22
25
|
c.desc 'Display matches from a known todo file'
|
23
26
|
c.arg_name 'TODO_FILE'
|
24
27
|
c.flag %i[in todo], multiple: true
|
@@ -121,6 +124,7 @@ class App
|
|
121
124
|
end
|
122
125
|
|
123
126
|
args.concat(options[:in])
|
127
|
+
args << '*' if options[:all]
|
124
128
|
if args.count.positive?
|
125
129
|
all_req = args.join(' ') !~ /(?<=[, ])[+!-]/
|
126
130
|
|
@@ -137,9 +141,7 @@ class App
|
|
137
141
|
end
|
138
142
|
end
|
139
143
|
|
140
|
-
|
141
|
-
tags.each { |tag| search_for_done = true if tag[:tag] =~ /done/ }
|
142
|
-
options[:done] = true if search_for_done
|
144
|
+
options[:done] = true if tags.any? { |tag| tag[:tag] =~ /done/ }
|
143
145
|
|
144
146
|
search_tokens = nil
|
145
147
|
if options[:exact]
|
data/lib/na/next_action.rb
CHANGED
@@ -203,7 +203,7 @@ module NA
|
|
203
203
|
content = content.split(/\n/).insert(line, input.join("\n")).join("\n")
|
204
204
|
else
|
205
205
|
split = content.split(/\n/)
|
206
|
-
line = todo.projects.first&.
|
206
|
+
line = todo.projects.first&.line || 0
|
207
207
|
before = split.slice(0, line).join("\n")
|
208
208
|
after = split.slice(line, split.count - 0).join("\n")
|
209
209
|
content = "#{before}\n#{input.join("\n")}\n#{after}"
|
@@ -654,7 +654,6 @@ module NA
|
|
654
654
|
File.open(db, 'w') { |f| f.puts }
|
655
655
|
[]
|
656
656
|
end
|
657
|
-
|
658
657
|
end
|
659
658
|
|
660
659
|
def move_deprecated_backups
|
data/lib/na/string.rb
CHANGED
@@ -90,7 +90,7 @@ class ::String
|
|
90
90
|
## @return Colorized string
|
91
91
|
##
|
92
92
|
def highlight_filename
|
93
|
-
dir = File.dirname(self).shorten_path
|
93
|
+
dir = File.dirname(self).shorten_path.trunc_middle(TTY::Screen.columns / 3)
|
94
94
|
file = NA.include_ext ? File.basename(self) : File.basename(self, ".#{NA.extension}")
|
95
95
|
"#{NA.theme[:dirname]}#{dir}/#{NA.theme[:filename]}#{file}{x}"
|
96
96
|
end
|
@@ -148,6 +148,16 @@ class ::String
|
|
148
148
|
string
|
149
149
|
end
|
150
150
|
|
151
|
+
def trunc_middle(max)
|
152
|
+
return self unless length > max
|
153
|
+
|
154
|
+
half = (max / 2).floor - 3
|
155
|
+
chars = split('')
|
156
|
+
pre = chars.slice(0, half)
|
157
|
+
post = chars.reverse.slice(0, half).reverse
|
158
|
+
"#{pre.join('')}[...]#{post.join('')}"
|
159
|
+
end
|
160
|
+
|
151
161
|
def wrap(width, indent)
|
152
162
|
return "\n#{self}" if width <= 80
|
153
163
|
|
data/lib/na/todo.rb
CHANGED
@@ -99,9 +99,14 @@ module NA
|
|
99
99
|
content = file.read_file
|
100
100
|
indent_level = 0
|
101
101
|
parent = []
|
102
|
+
in_yaml = false
|
102
103
|
in_action = false
|
103
104
|
content.split(/\n/).each.with_index do |line, idx|
|
104
|
-
if line
|
105
|
+
if in_yaml && line !~ /^(---|~~~)\s*$/
|
106
|
+
NA.notify("YAML: #{line}", debug: true)
|
107
|
+
elsif line =~ /^(---|~~~)\s*$/
|
108
|
+
in_yaml = !in_yaml
|
109
|
+
elsif line.project? && !in_yaml
|
105
110
|
in_action = false
|
106
111
|
proj = line.project
|
107
112
|
indent = line.indent_level
|
data/lib/na/version.rb
CHANGED
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.2.
|
12
|
+
The current version of `na` is <!--VER-->1.2.58<!--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
|
|
data/test.md
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: na
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.59
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Terpstra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -247,6 +247,7 @@ files:
|
|
247
247
|
- na.rdoc
|
248
248
|
- scripts/fixreadme.rb
|
249
249
|
- src/_README.md
|
250
|
+
- test.md
|
250
251
|
- test2.txt
|
251
252
|
homepage: https://brettterpstra.com/projects/na/
|
252
253
|
licenses:
|