shellopts 2.1.4 → 2.3.0
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/lib/shellopts/args.rb +2 -0
- data/lib/shellopts/version.rb +1 -1
- data/lib/shellopts.rb +32 -28
- metadata +6 -6
- /data/lib/{ext → shellopts/ext}/array.rb +0 -0
- /data/lib/{ext → shellopts/ext}/follow.rb +0 -0
- /data/lib/{ext → shellopts/ext}/forward_to.rb +0 -0
- /data/lib/{ext → shellopts/ext}/lcs.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c8545c5ef2b66679aa262ab499925ffa3e3a53e99df55844f658877a4722095
|
4
|
+
data.tar.gz: adf2161d1a41f0161ed76031329a306677c88af739f341f01771eba863330a5c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 260e46338b058593f0561bf524e595455060101e0de1bec96e3209b15992318cd29ed99a188d539ac2d57dad7c818306249fa3104a23da8e9fc665c1a7cb13fe
|
7
|
+
data.tar.gz: 221cc49626cdd1d172f570187facf4e3941420ec12fc2fbe16a3d73c56fcddf048db40381234726467f2be8f568a9f81c95c038db0d26edff7b6fe31b76090a9
|
data/lib/shellopts/args.rb
CHANGED
@@ -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)
|
data/lib/shellopts/version.rb
CHANGED
data/lib/shellopts.rb
CHANGED
@@ -4,28 +4,28 @@ require 'indented_io'
|
|
4
4
|
require 'constrain'
|
5
5
|
include Constrain
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
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
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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-
|
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
|