na 1.2.48 → 1.2.50

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: 979a9debf8199d1e1182caaefb4d412c03c66c0c9785fd1ac638af13d211686e
4
- data.tar.gz: 16bdab2fa8d9f8c326351bcc4c92e29aa3fed23a1dc23acc2c72a22ca12ecd41
3
+ metadata.gz: ea683e8d5187cd53c25900fd1ec4bb269644cd83c7f95c591cd5abee20d6f7e4
4
+ data.tar.gz: 850ef4f8edf690a993c73088bef2fea5b4c47085d21f43e4f3097dbf202d3d9f
5
5
  SHA512:
6
- metadata.gz: a0b05629b092b7e49c3b4c606ddb236387b9acf5edc6219a446ccebfc6a8ced5ab17629e78b5fc327c0eb0a4ec3203221e7b3a4d661cfcba224d44ae3798d48e
7
- data.tar.gz: 702cfbe213a0aa67a249284511754613cd447cea62580a14982c4ef253d5b710a70438c5b6f27008b9a4191b3f52f0f2b5fa80de3a373c28c201f5c1dd043b00
6
+ metadata.gz: 3bb8a0ec11195980fffcc7b429e5157e4c60501840280c14d7228f5585067e6cbcea51492a7e844d59e633ba0d7908704619404e6bfcae0d09b6f5d75a56e112
7
+ data.tar.gz: 8b9c155dfbbe6ac51682db63f471b2393640aaebc73f2e97801c54a872ec89b87bcc8e9574892c6030ae8d1cfd7c5136f0da57680f4aa4bc2eb96edc9c74c09d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ### 1.2.50
2
+
3
+ 2023-09-09 08:04
4
+
5
+ #### NEW
6
+
7
+ - Global option `--include_ext` can be configured to use full
8
+
9
+ #### FIXED
10
+
11
+ - `--no-color` wasn't stripping templated hex codes
12
+
13
+ ### 1.2.49
14
+
15
+ 2023-09-08 13:34
16
+
17
+ #### FIXED
18
+
19
+ - New project not being added when requested
20
+
1
21
  ### 1.2.48
2
22
 
3
23
  2023-09-08 10:19
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- na (1.2.48)
4
+ na (1.2.50)
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.48
12
+ The current version of `na` is 1.2.50
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.48
80
+ 1.2.50
81
81
 
82
82
  GLOBAL OPTIONS
83
83
  -a, --add - Add a next action (deprecated, for backwards compatibility)
@@ -89,6 +89,7 @@ GLOBAL OPTIONS
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)
91
91
  --help - Show this message
92
+ --include_ext - Include file extension in display
92
93
  -n, --note - Prompt for additional notes (deprecated, for backwards compatibility)
93
94
  -p, --priority=PRIORITY - Set a priority 0-5 (deprecated, for backwards compatibility) (default: none)
94
95
  --[no-]pager - Enable pagination (default: enabled)
data/bin/na CHANGED
@@ -26,6 +26,9 @@ class App
26
26
  arg_name 'EXT'
27
27
  flag :ext
28
28
 
29
+ desc 'Include file extension in display'
30
+ switch :include_ext, default_value: false, negatable: false
31
+
29
32
  desc 'Tag to consider a next action'
30
33
  default_value 'na'
31
34
  arg_name 'TAG'
@@ -86,8 +89,9 @@ class App
86
89
  pre do |global, _command, _options, _args|
87
90
  NA.verbose = global[:debug]
88
91
  NA::Pager.paginate = global[:pager] && $stdout.isatty
89
- NA::Color.coloring = global[:color]
92
+ NA::Color.coloring = global[:color] && $stdout.isatty
90
93
  NA.extension = global[:ext]
94
+ NA.include_ext = global[:include_ext]
91
95
  NA.na_tag = global[:na_tag]
92
96
  NA.global_file = global[:file]
93
97
  NA.cwd = File.basename(ENV['PWD'])
data/lib/na/action.rb CHANGED
@@ -89,7 +89,7 @@ module NA
89
89
 
90
90
  # Create the source filename string, substituting ~ for HOME and removing extension
91
91
  file = @file.sub(%r{^\./}, '').sub(/#{ENV['HOME']}/, '~')
92
- file = file.sub(/\.#{extension}$/, '')
92
+ file = file.sub(/\.#{extension}$/, '') unless NA.include_ext
93
93
  # colorize the basename
94
94
  file = file.highlight_filename
95
95
  file_tpl = "#{template[:file]}#{file} {x}"
data/lib/na/colors.rb CHANGED
@@ -232,7 +232,7 @@ module NA
232
232
  ##
233
233
  def template(input)
234
234
  input = input.join(' ') if input.is_a? Array
235
- return input.gsub(/(?<!\\)\{(\w+)\}/i, '') unless NA::Color.coloring?
235
+ return input.gsub(/(?<!\\)\{#?(\w+)\}/i, '') unless NA::Color.coloring?
236
236
 
237
237
  input = input.gsub(/(?<!\\)\{((?:[fb]g?)?#[a-f0-9]{3,6})\}/i) do
238
238
  hex = Regexp.last_match(1)
@@ -5,7 +5,7 @@ module NA
5
5
  class << self
6
6
  include NA::Editor
7
7
 
8
- attr_accessor :verbose, :extension, :na_tag, :command_line, :command, :globals, :global_file, :cwd_is, :cwd, :stdin
8
+ attr_accessor :verbose, :extension, :include_ext, :na_tag, :command_line, :command, :globals, :global_file, :cwd_is, :cwd, :stdin
9
9
 
10
10
  def theme
11
11
  @theme ||= NA::Theme.load_theme
@@ -192,6 +192,7 @@ module NA
192
192
  if final_match.nil?
193
193
  indent = 0
194
194
  input = []
195
+
195
196
  new_path.each do |part|
196
197
  input.push("#{"\t" * indent}#{part.cap_first}:")
197
198
  indent += 1
@@ -208,7 +209,7 @@ module NA
208
209
  content = "#{before}\n#{input.join("\n")}\n#{after}"
209
210
  end
210
211
 
211
- new_project = NA::Project.new(path.map(&:cap_first).join(':'), indent - 1, input.count - 1, input.count - 1)
212
+ new_project = NA::Project.new(path.map(&:cap_first).join(':'), indent - 1, line, line + 1)
212
213
  else
213
214
  line = final_match.line + 1
214
215
  indent = final_match.indent + 1
@@ -274,21 +275,25 @@ module NA
274
275
  projects = find_projects(target)
275
276
 
276
277
  target_proj = if target_proj
277
- projects.select { |proj| proj.project =~ /^#{target_proj.project}$/ }.first
278
+ projects.select { |proj| proj.project =~ /^#{target_proj.project}$/i }.first
278
279
  else
279
- projects.select { |proj| proj.project =~ /^#{add.parent.join(':')}$/ }.first
280
+ projects.select { |proj| proj.project =~ /^#{add.parent.join(':')}$/i }.first
280
281
  end
281
282
 
282
- res = NA.yn(NA::Color.template("#{NA.theme[:warning]}Project #{NA.theme[:file]}#{move}#{NA.theme[:warning]} doesn't exist, add it"), default: true)
283
+ if target_proj.nil?
284
+ res = NA.yn(NA::Color.template("#{NA.theme[:warning]}Project #{NA.theme[:file]}#{add.project}#{NA.theme[:warning]} doesn't exist, add it"), default: true)
283
285
 
284
- if res
285
- target_proj = insert_project(target, project, projects)
286
- projects << target_proj
287
- else
288
- NA.notify("#{NA.theme[:error]}Cancelled", exit_code: 1)
289
- end
286
+ if res
287
+ target_proj = insert_project(target, project, projects)
288
+ projects << target_proj
289
+ else
290
+ NA.notify("#{NA.theme[:error]}Cancelled", exit_code: 1)
291
+ end
290
292
 
291
- NA.notify("#{NA.theme[:error]}Error parsing project #{NA.theme[:filename]}#{target}", exit_code: 1) if target_proj.nil?
293
+ NA.notify("#{NA.theme[:error]}Error parsing project #{NA.theme[:filename]}#{target}", exit_code: 1) if target_proj.nil?
294
+
295
+ contents = target.read_file.split("\n")
296
+ end
292
297
 
293
298
  indent = "\t" * target_proj.indent
294
299
  note = note.split("\n") unless note.is_a?(Array)
data/lib/na/string.rb CHANGED
@@ -91,7 +91,7 @@ class ::String
91
91
  ##
92
92
  def highlight_filename
93
93
  dir = File.dirname(self).shorten_path
94
- file = File.basename(self, ".#{NA.extension}")
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
97
97
 
data/lib/na/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Na
2
- VERSION = '1.2.48'
2
+ VERSION = '1.2.50'
3
3
  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.2.47<!--END VER-->.
12
+ The current version of `na` is <!--VER-->1.2.49<!--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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: na
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.48
4
+ version: 1.2.50
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-09-08 00:00:00.000000000 Z
11
+ date: 2023-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake