na 1.2.23 → 1.2.24

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 156cd1491d6307f4e28005d50c7b7fd0bd9d40da460533fa5a52e0a472ead137
4
- data.tar.gz: fc1900ffb0aa9984f039aa9ca8f3b85fb787069f31a7ed2d071c786b4fe2638b
3
+ metadata.gz: 2f840ae45f83c67e9090e06825967148c02aae1fcb31171fb04fcaf5bc67ef71
4
+ data.tar.gz: 0aee7636a1b17b0a631b16df18a06e1e5dc62636e86eeae1b1f8e2486476063b
5
5
  SHA512:
6
- metadata.gz: 190d47fd1308faf2401234d9dc28c02ed61c89888a5fa96139ffad51a6ff41f0f48babb90971c132c3e890abeaf3177b878fa94363bd8a4f534b2eab7dadf43c
7
- data.tar.gz: 6e40bf25ec1e3dd609181c467c4d885efbd9a634e8ab90424f4d443683d01d8594bace90df10c47cc12a498caae12e32efff20d0ad2d749508406bd838b05401
6
+ metadata.gz: 2d99c6628ec7bf9c01556bd4fba39456088c59e5702f6e5227a1c34dee73f8078fea15fd46d60f217b4ee2f5bc4e1e17fafa62c9aa9b585431c7acc955331608
7
+ data.tar.gz: eaeb4890a28bc8d3d8d0c12cb76e50d2e591e81b0eef104cae994b8ee0e0798cf693740a6160578e8a77329d503481e5231ef340980920f621e6ee5001ffa5e8
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ### 1.2.24
2
+
3
+ 2023-06-14 09:16
4
+
1
5
  ### 1.2.23
2
6
 
3
7
  2023-06-05 10:42
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- na (1.2.23)
4
+ na (1.2.24)
5
5
  chronic (~> 0.10, >= 0.10.2)
6
6
  gli (~> 2.21.0)
7
7
  mdless (~> 1.0, >= 1.0.32)
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.23
12
+ The current version of `na` is 1.2.24
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,14 +77,14 @@ SYNOPSIS
77
77
  na [global options] command [command options] [arguments...]
78
78
 
79
79
  VERSION
80
- 1.2.23
80
+ 1.2.24
81
81
 
82
82
  GLOBAL OPTIONS
83
83
  -a, --add - Add a next action (deprecated, for backwards compatibility)
84
84
  --add_at=POSITION - Add all new/moved entries at [s]tart or [e]nd of target project (default: start)
85
85
  --[no-]color - Colorize output (default: enabled)
86
86
  --cwd_as=TYPE - Use current working directory as [p]roject, [t]ag, or [n]one (default: none)
87
- -d, --depth=DEPTH - Recurse to depth (default: 1)
87
+ -d, --depth=DEPTH - Recurse to depth (default: 3)
88
88
  --[no-]debug - Display verbose output
89
89
  --ext=EXT - File extension to consider a todo file (default: taskpaper)
90
90
  -f, --file=PATH - Use a single file as global todo, use initconfig to make permanent (default: none)
@@ -166,7 +166,7 @@ module NA
166
166
  [projects, selected]
167
167
  end
168
168
 
169
- def insert_project(target, project)
169
+ def insert_project(target, project, projects)
170
170
  path = project.split(%r{[:/]})
171
171
  _, _, projects = parse_actions(file_path: target)
172
172
  built = []
@@ -196,9 +196,13 @@ module NA
196
196
  end
197
197
 
198
198
  if new_path.join('') =~ /Archive/i
199
- content = "#{content.strip}\n#{input.join("\n")}"
199
+ line = projects.last.last_line
200
+ content = content.split(/\n/).insert(line, input.join("\n")).join("\n")
200
201
  else
201
- content = "#{input.join("\n")}\n#{content}"
202
+ split = content.split(/\n/)
203
+ before = split.slice(0, projects.first.line).join("\n")
204
+ after = split.slice(projects.first.line, split.count - projects.first.line).join("\n")
205
+ content = "#{before}\n#{input.join("\n")}\n#{after}"
202
206
  end
203
207
 
204
208
  new_project = NA::Project.new(path.map(&:cap_first).join(':'), indent - 1, input.count - 1, input.count - 1)
@@ -210,7 +214,7 @@ module NA
210
214
  input.push("#{"\t" * indent}#{part.cap_first}:")
211
215
  indent += 1
212
216
  end
213
- content = content.split("\n").insert(line, input.join("\n")).join("\n")
217
+ content = content.split(/\n/).insert(line, input.join("\n")).join("\n")
214
218
  new_project = NA::Project.new(path.map(&:cap_first).join(':'), indent - 1, line + input.count - 1, line + input.count - 1)
215
219
  end
216
220
 
@@ -273,7 +277,7 @@ module NA
273
277
  if target_proj.nil?
274
278
  res = NA.yn(NA::Color.template("{y}Project {bw}#{project}{xy} doesn't exist, add it"), default: true)
275
279
  if res
276
- target_proj = insert_project(target, project)
280
+ target_proj = insert_project(target, project, projects)
277
281
  else
278
282
  NA.notify('{x}Cancelled', exit_code: 1)
279
283
  end
data/lib/na/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Na
2
- VERSION = '1.2.23'
2
+ VERSION = '1.2.24'
3
3
  end
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.23
4
+ version: 1.2.24
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-06-05 00:00:00.000000000 Z
11
+ date: 2023-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -246,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
246
  - !ruby/object:Gem::Version
247
247
  version: '0'
248
248
  requirements: []
249
- rubygems_version: 3.2.15
249
+ rubygems_version: 3.2.16
250
250
  signing_key:
251
251
  specification_version: 4
252
252
  summary: A command line tool for adding and listing project todos