lolcat 99.9.69 → 99.9.99
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/README.md +1 -1
- data/ass/nom.jpg +0 -0
- data/lib/lolcat/cat.rb +0 -1
- data/lib/lolcat/lol.rb +21 -10
- data/lib/lolcat/version.rb +1 -1
- data/man/lolcat.6 +0 -3
- metadata +4 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 853bfb8f0075aff67eea592c9564811fc2689c2142584d4546df10f988b38a16
|
|
4
|
+
data.tar.gz: cdb17a584830bbe1544570ae9f698c84e4bcf189ea072241cfd2d2147c6a277a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 55146feb187759e83ee4b003993bb8b6c9fb641fc6eac51ccbb7c4c47fa1fb3581ff256ddabdced9d8eb5626f3da930021b810c3fae519f8940ce21affed5330
|
|
7
|
+
data.tar.gz: 6e2f8904b618ef656c8d5f2954c519638af18694d26c31d5e8b676f022de4d167f379ad7d9459e8061bbe02038018f423f9f1550bcc0805affdfed4ca24a2c43
|
data/README.md
CHANGED
data/ass/nom.jpg
ADDED
|
Binary file
|
data/lib/lolcat/cat.rb
CHANGED
|
@@ -50,7 +50,6 @@ HEADER
|
|
|
50
50
|
opt :speed, "Animation speed", :short => 's', :default => 20.0
|
|
51
51
|
opt :invert, "Invert fg and bg", :short => 'i', :default => false
|
|
52
52
|
opt :truecolor, "24-bit (truecolor)", :short => 't', :default => false
|
|
53
|
-
opt :number, "Show line numbers", :short => 'n', :default => false
|
|
54
53
|
opt :force, "Force color even when stdout is not a tty", :short => 'f', :default => false
|
|
55
54
|
opt :version, "Print version and exit", :short => 'v'
|
|
56
55
|
opt :help, "Show this message", :short => 'h'
|
data/lib/lolcat/lol.rb
CHANGED
|
@@ -31,6 +31,7 @@ module Lol
|
|
|
31
31
|
INCOMPLETE_ESCAPE = /\e(?:[ -\/]*|[\]PX^_][^\a\e]*|\[[0-?]*)$/
|
|
32
32
|
|
|
33
33
|
@paint_detected_mode = Paint.detect_mode
|
|
34
|
+
@os = 0
|
|
34
35
|
|
|
35
36
|
def self.rainbow(freq, i)
|
|
36
37
|
red = Math.sin(freq*i + 0) * 127 + 128
|
|
@@ -52,9 +53,8 @@ module Lol
|
|
|
52
53
|
break
|
|
53
54
|
end
|
|
54
55
|
buf.force_encoding(fd.external_encoding)
|
|
55
|
-
buf.lines.
|
|
56
|
-
|
|
57
|
-
line = format('%6d %s', i + 1, line) if opts[:number]
|
|
56
|
+
buf.lines.each do |line|
|
|
57
|
+
@os += 1
|
|
58
58
|
println(line, opts)
|
|
59
59
|
end
|
|
60
60
|
end
|
|
@@ -69,35 +69,46 @@ module Lol
|
|
|
69
69
|
opts.merge!(defaults)
|
|
70
70
|
chomped = str.sub!(/\n$/, "")
|
|
71
71
|
str.gsub! "\t", " "
|
|
72
|
-
opts[:animate] ? println_ani(str, opts) : println_plain(str, opts)
|
|
72
|
+
opts[:animate] ? println_ani(str, opts, chomped) : println_plain(str, opts, chomped)
|
|
73
73
|
puts if chomped
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
private
|
|
77
77
|
|
|
78
|
-
def self.println_plain(str, defaults={}, opts={})
|
|
78
|
+
def self.println_plain(str, defaults={}, opts={}, chomped)
|
|
79
79
|
opts.merge!(defaults)
|
|
80
80
|
set_mode(opts[:truecolor])
|
|
81
|
-
str.scan(ANSI_ESCAPE)
|
|
82
|
-
|
|
81
|
+
filtered = str.scan(ANSI_ESCAPE)
|
|
82
|
+
filtered.each_with_index do |c, i|
|
|
83
|
+
color = rainbow(opts[:freq], @os+i/opts[:spread])
|
|
83
84
|
if opts[:invert] then
|
|
84
85
|
print c[0], Paint.color(nil, color), c[1], "\e[49m"
|
|
85
86
|
else
|
|
86
87
|
print c[0], Paint.color(color), c[1], "\e[39m"
|
|
87
88
|
end
|
|
88
89
|
end
|
|
90
|
+
|
|
91
|
+
if chomped == nil
|
|
92
|
+
@old_os = @os
|
|
93
|
+
@os = @os + filtered.length/opts[:spread]
|
|
94
|
+
elsif @old_os
|
|
95
|
+
@os = @old_os
|
|
96
|
+
@old_os = nil
|
|
97
|
+
end
|
|
89
98
|
end
|
|
90
99
|
|
|
91
|
-
def self.println_ani(str, opts={})
|
|
100
|
+
def self.println_ani(str, opts={}, chomped)
|
|
92
101
|
return if str.empty?
|
|
93
102
|
print "\e7"
|
|
103
|
+
@real_os = @os
|
|
94
104
|
(1..opts[:duration]).each do |i|
|
|
95
105
|
print "\e8"
|
|
96
|
-
|
|
97
|
-
println_plain(str, opts)
|
|
106
|
+
@os += opts[:spread]
|
|
107
|
+
println_plain(str, opts, chomped)
|
|
98
108
|
str.gsub!(/\e\[[0-?]*[@JKPX]/, "")
|
|
99
109
|
sleep 1.0/opts[:speed]
|
|
100
110
|
end
|
|
111
|
+
@os = @real_os
|
|
101
112
|
end
|
|
102
113
|
|
|
103
114
|
def self.set_mode(truecolor)
|
data/lib/lolcat/version.rb
CHANGED
data/man/lolcat.6
CHANGED
|
@@ -52,9 +52,6 @@ Inverts the background and foreground colors.
|
|
|
52
52
|
\fB\-t\fP, \fB\-\-truecolor\fP
|
|
53
53
|
Enables 24-bit truecolor mode.
|
|
54
54
|
.TP
|
|
55
|
-
\fB\-n\fP, \fB\-\-number\fP
|
|
56
|
-
Number all output lines
|
|
57
|
-
.TP
|
|
58
55
|
\fB\-f\fP, \fB\-\-force\fP
|
|
59
56
|
Force color even when stdout is not a tty.
|
|
60
57
|
.TP
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lolcat
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 99.9.
|
|
4
|
+
version: 99.9.99
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Moe
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-07-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -79,6 +79,7 @@ files:
|
|
|
79
79
|
- LICENSE
|
|
80
80
|
- README.md
|
|
81
81
|
- Rakefile
|
|
82
|
+
- ass/nom.jpg
|
|
82
83
|
- ass/screenshot.png
|
|
83
84
|
- bin/lolcat
|
|
84
85
|
- lib/lolcat.rb
|
|
@@ -105,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
105
106
|
- !ruby/object:Gem::Version
|
|
106
107
|
version: '0'
|
|
107
108
|
requirements: []
|
|
108
|
-
rubygems_version: 3.0.
|
|
109
|
+
rubygems_version: 3.0.3
|
|
109
110
|
signing_key:
|
|
110
111
|
specification_version: 4
|
|
111
112
|
summary: Okay, no unicorns. But rainbows!!
|