na 1.2.57 → 1.2.59
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 +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:
|