lolcat 42.0.43 → 42.0.84
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.
- data/lib/lolcat/cat.rb +5 -3
- data/lib/lolcat/lol.rb +4 -1
- data/lib/lolcat/version.rb +1 -1
- metadata +2 -2
data/lib/lolcat/cat.rb
CHANGED
|
@@ -49,6 +49,7 @@ module Lol
|
|
|
49
49
|
|
|
50
50
|
def self.cat!
|
|
51
51
|
p = Trollop::Parser.new do
|
|
52
|
+
version "lolcat #{Lolcat::VERSION} (c)2011 moe@busyloop.net"
|
|
52
53
|
banner <<HEADER
|
|
53
54
|
|
|
54
55
|
Usage: lolcat [OPTION]... [FILE]...
|
|
@@ -58,7 +59,8 @@ With no FILE, or when FILE is -, read standard input.
|
|
|
58
59
|
|
|
59
60
|
HEADER
|
|
60
61
|
banner ''
|
|
61
|
-
opt :spread, "Rainbow spread", :short => 'p', :default =>
|
|
62
|
+
opt :spread, "Rainbow spread", :short => 'p', :default => 3.0
|
|
63
|
+
opt :freq, "Rainbow frequency", :short => 'F', :default => 0.1
|
|
62
64
|
opt :seed, "Rainbow seed, 0 = random", :short => 'S', :default => 0
|
|
63
65
|
opt :animate, "Enable psychedelics", :short => 'a', :default => false
|
|
64
66
|
opt :duration, "Animation duration", :short => 'd', :default => 12
|
|
@@ -76,7 +78,6 @@ Examples:
|
|
|
76
78
|
Report lolcat bugs to <http://www.github.org/busyloop/lolcat/issues>
|
|
77
79
|
lolcat home page: <http://www.github.org/busyloop/lolcat/>
|
|
78
80
|
Report lolcat translation bugs to <http://speaklolcat.com/>
|
|
79
|
-
For complete documentation, read the source!
|
|
80
81
|
|
|
81
82
|
FOOTER
|
|
82
83
|
end
|
|
@@ -98,7 +99,6 @@ FOOTER
|
|
|
98
99
|
p.die :duration, "must be > 0" if opts[:duration] < 0.1
|
|
99
100
|
p.die :speed, "must be > 0.1" if opts[:duration] < 0.1
|
|
100
101
|
|
|
101
|
-
opts = { :freq => 0.3 }.merge(opts)
|
|
102
102
|
opts[:os] = opts[:seed]
|
|
103
103
|
opts[:os] = rand(256) if opts[:os] == 0
|
|
104
104
|
|
|
@@ -125,6 +125,8 @@ FOOTER
|
|
|
125
125
|
rescue Errno::EISDIR
|
|
126
126
|
puts "lolcat: #{file}: Is a directory"
|
|
127
127
|
exit 1
|
|
128
|
+
rescue Errno::EPIPE
|
|
129
|
+
exit 1
|
|
128
130
|
end
|
|
129
131
|
end
|
|
130
132
|
rescue Interrupt
|
data/lib/lolcat/lol.rb
CHANGED
|
@@ -30,10 +30,13 @@ module Lol
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
def self.cat(fd, opts={})
|
|
33
|
+
print "\e[?25l" if opts[:animate]
|
|
33
34
|
fd.each do |line|
|
|
34
35
|
opts[:os] += 1
|
|
35
36
|
println(line, opts)
|
|
36
37
|
end
|
|
38
|
+
ensure
|
|
39
|
+
print "\e[?25h" if opts[:animate]
|
|
37
40
|
end
|
|
38
41
|
|
|
39
42
|
def self.println(str, defaults={}, opts={})
|
|
@@ -57,7 +60,7 @@ module Lol
|
|
|
57
60
|
return if str.empty?
|
|
58
61
|
(1..opts[:duration]).each do |i|
|
|
59
62
|
print "\e[#{str.length}D"
|
|
60
|
-
opts[:os] += opts[:spread]
|
|
63
|
+
opts[:os] += opts[:spread]
|
|
61
64
|
println_plain(str, opts)
|
|
62
65
|
sleep 1.0/opts[:speed]
|
|
63
66
|
end
|
data/lib/lolcat/version.rb
CHANGED