shellopts 2.1.4 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e35f8f74b401892334c494a767678b724049a9e77c275884591718d7903bfdf
4
- data.tar.gz: bec330c7546466bc6e25f74fd2d3e9ae94247db5e048515a5b342cbf9cee31a1
3
+ metadata.gz: 1c8545c5ef2b66679aa262ab499925ffa3e3a53e99df55844f658877a4722095
4
+ data.tar.gz: adf2161d1a41f0161ed76031329a306677c88af739f341f01771eba863330a5c
5
5
  SHA512:
6
- metadata.gz: 49f17500a669a195ba1ccd75b14f9b8417e7640c2ae54dd704a5a0995e01a644fb860a93f0d645829e3d34859955eafd58b96528226b79c57326ff8692976114
7
- data.tar.gz: b6e29046a96b36c68a088fa43f2ee2f25ad1c0fd9da5b5741035f7cae1be9030c731e1a3491fb47b2a51730e385388e8bc373bfd7986413b954ac3be929ac22c
6
+ metadata.gz: 260e46338b058593f0561bf524e595455060101e0de1bec96e3209b15992318cd29ed99a188d539ac2d57dad7c818306249fa3104a23da8e9fc665c1a7cb13fe
7
+ data.tar.gz: 221cc49626cdd1d172f570187facf4e3941420ec12fc2fbe16a3d73c56fcddf048db40381234726467f2be8f568a9f81c95c038db0d26edff7b6fe31b76090a9
@@ -32,6 +32,7 @@ module ShellOpts
32
32
  when Range
33
33
  range = count_or_range
34
34
  range.min <= self.size or inoa(message)
35
+ return self.to_a if range.end.nil?
35
36
  n_extract = [self.size, range.max].min
36
37
  n_extend = range.max > self.size ? range.max - self.size : 0
37
38
  r = self.shift(n_extract) + Array.new(n_extend)
@@ -58,6 +59,7 @@ module ShellOpts
58
59
  case count_or_range
59
60
  when Range
60
61
  count_or_range === self.size or inoa(message)
62
+ return self.to_a if count_or_range.end.nil?
61
63
  when Integer
62
64
  count_or_range >= 0 or inoa(message)
63
65
  count_or_range.abs == self.size or inoa(message)
@@ -1,3 +1,3 @@
1
1
  module ShellOpts
2
- VERSION = "2.1.4"
2
+ VERSION = "2.3.0"
3
3
  end
data/lib/shellopts.rb CHANGED
@@ -4,28 +4,28 @@ require 'indented_io'
4
4
  require 'constrain'
5
5
  include Constrain
6
6
 
7
- require 'ext/array.rb'
8
- require 'ext/follow.rb'
9
- require 'ext/forward_to.rb'
10
- require 'ext/lcs.rb'
7
+ require_relative 'shellopts/ext/array.rb'
8
+ require_relative 'shellopts/ext/follow.rb'
9
+ require_relative 'shellopts/ext/forward_to.rb' # Import into standard forward_to
10
+ require_relative 'shellopts/ext/lcs.rb'
11
11
  include ForwardTo
12
12
 
13
- require 'shellopts/version.rb'
14
-
15
- require 'shellopts/stack.rb'
16
- require 'shellopts/token.rb'
17
- require 'shellopts/grammar.rb'
18
- require 'shellopts/program.rb'
19
- require 'shellopts/args.rb'
20
- require 'shellopts/lexer.rb'
21
- require 'shellopts/argument_type.rb'
22
- require 'shellopts/parser.rb'
23
- require 'shellopts/analyzer.rb'
24
- require 'shellopts/interpreter.rb'
25
- require 'shellopts/ansi.rb'
26
- require 'shellopts/renderer.rb'
27
- require 'shellopts/formatter.rb'
28
- require 'shellopts/dump.rb'
13
+ require_relative 'shellopts/version.rb'
14
+
15
+ require_relative 'shellopts/stack.rb'
16
+ require_relative 'shellopts/token.rb'
17
+ require_relative 'shellopts/grammar.rb'
18
+ require_relative 'shellopts/program.rb'
19
+ require_relative 'shellopts/args.rb'
20
+ require_relative 'shellopts/lexer.rb'
21
+ require_relative 'shellopts/argument_type.rb'
22
+ require_relative 'shellopts/parser.rb'
23
+ require_relative 'shellopts/analyzer.rb'
24
+ require_relative 'shellopts/interpreter.rb'
25
+ require_relative 'shellopts/ansi.rb'
26
+ require_relative 'shellopts/renderer.rb'
27
+ require_relative 'shellopts/formatter.rb'
28
+ require_relative 'shellopts/dump.rb'
29
29
 
30
30
  # TODO: Describe exception handling
31
31
  #
@@ -419,20 +419,24 @@ module ShellOpts
419
419
  exit 1
420
420
  end
421
421
 
422
- def self.notice(message)
423
- $stderr.puts message if !instance.quiet || !instance.program.quiet?
422
+ def self.notice(message, newline: true)
423
+ method = newline ? :puts : :print
424
+ $stderr.send(method, message) if !instance.quiet || !instance.program.quiet? # FIXME quiet? vs __quiet__ below
424
425
  end
425
426
 
426
- def self.mesg(message)
427
- $stdout.puts message if !instance.quiet || !instance.program.__quiet__
427
+ def self.mesg(message, newline: true)
428
+ method = newline ? :puts : :print
429
+ $stdout.send(method, message) if !instance.quiet || !instance.program.__quiet__
428
430
  end
429
431
 
430
- def self.verb(level = 1, message)
431
- $stdout.puts message if instance.verbose && level <= instance.program.__verbose__
432
+ def self.verb(level = 1, message, newline: true)
433
+ method = newline ? :puts : :print
434
+ $stdout.send(method, message) if instance.verbose && level <= instance.program.__verbose__
432
435
  end
433
436
 
434
- def self.debug(message)
435
- $stdout.puts message if instance.debug && instance.program.__debug__
437
+ def self.debug(message, newline: true)
438
+ method = newline ? :puts : :print
439
+ $stdout.send(method, message) if instance.debug && instance.program.__debug__
436
440
  end
437
441
 
438
442
  def self.quiet_flag
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shellopts
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.4
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claus Rasmussen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-23 00:00:00.000000000 Z
11
+ date: 2024-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: forward_to
@@ -133,16 +133,16 @@ files:
133
133
  - doc/stylesheet.css
134
134
  - doc/syntax.rb
135
135
  - doc/syntax.txt
136
- - lib/ext/array.rb
137
- - lib/ext/follow.rb
138
- - lib/ext/forward_to.rb
139
- - lib/ext/lcs.rb
140
136
  - lib/shellopts.rb
141
137
  - lib/shellopts/analyzer.rb
142
138
  - lib/shellopts/ansi.rb
143
139
  - lib/shellopts/args.rb
144
140
  - lib/shellopts/argument_type.rb
145
141
  - lib/shellopts/dump.rb
142
+ - lib/shellopts/ext/array.rb
143
+ - lib/shellopts/ext/follow.rb
144
+ - lib/shellopts/ext/forward_to.rb
145
+ - lib/shellopts/ext/lcs.rb
146
146
  - lib/shellopts/formatter.rb
147
147
  - lib/shellopts/grammar.rb
148
148
  - lib/shellopts/interpreter.rb
File without changes
File without changes
File without changes
File without changes