lolcat 99.9.20 → 99.9.99

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: 7e107b8b9bebc7bb055b3290eda6c35d1120dcec828c94400b8b440b5f3dce77
4
- data.tar.gz: d6a015bcfa6f6dfc82dad2a273ea39def69372a14908c24f3607396b90db2b1a
3
+ metadata.gz: 853bfb8f0075aff67eea592c9564811fc2689c2142584d4546df10f988b38a16
4
+ data.tar.gz: cdb17a584830bbe1544570ae9f698c84e4bcf189ea072241cfd2d2147c6a277a
5
5
  SHA512:
6
- metadata.gz: 9b4a2c26b6ed06a1660a420705c1395ea422336634f1d22e7aca0b9621383360a60447f49139bf3a6ecfb6dc04fba4d9104dcc2706c26860f1b0990324f5502c
7
- data.tar.gz: 4b52e98963743154d90382a13211a09f76b33bd678ef0cc7fb354bc81b2126d89f09bec5cbce4f884f09883e44c02626383b46e128539fe7fd0669dff67ee500
6
+ metadata.gz: 55146feb187759e83ee4b003993bb8b6c9fb641fc6eac51ccbb7c4c47fa1fb3581ff256ddabdced9d8eb5626f3da930021b810c3fae519f8940ce21affed5330
7
+ data.tar.gz: 6e2f8904b618ef656c8d5f2954c519638af18694d26c31d5e8b676f022de4d167f379ad7d9459e8061bbe02038018f423f9f1550bcc0805affdfed4ca24a2c43
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # What?
2
2
 
3
- ![](http://i3.photobucket.com/albums/y83/SpaceGirl3900/LOLCat-Rainbow.jpg)
3
+ ![](https://github.com/busyloop/lolcat/raw/master/ass/nom.jpg)
4
4
 
5
5
  ## Screenshot
6
6
 
data/ass/nom.jpg ADDED
Binary file
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
@@ -53,14 +54,14 @@ module Lol
53
54
  end
54
55
  buf.force_encoding(fd.external_encoding)
55
56
  buf.lines.each do |line|
56
- opts[:os] += 1
57
+ @os += 1
57
58
  println(line, opts)
58
59
  end
59
60
  end
60
61
  ensure
61
62
  if STDOUT.tty? then
62
63
  print "\e[m\e[?25h\e[?1;5;2004l"
63
- system("stty sane -istrip <&1");
64
+ # system("stty sane -istrip <&1");
64
65
  end
65
66
  end
66
67
 
@@ -68,35 +69,46 @@ module Lol
68
69
  opts.merge!(defaults)
69
70
  chomped = str.sub!(/\n$/, "")
70
71
  str.gsub! "\t", " "
71
- opts[:animate] ? println_ani(str, opts) : println_plain(str, opts)
72
+ opts[:animate] ? println_ani(str, opts, chomped) : println_plain(str, opts, chomped)
72
73
  puts if chomped
73
74
  end
74
75
 
75
76
  private
76
77
 
77
- def self.println_plain(str, defaults={}, opts={})
78
+ def self.println_plain(str, defaults={}, opts={}, chomped)
78
79
  opts.merge!(defaults)
79
80
  set_mode(opts[:truecolor])
80
- str.scan(ANSI_ESCAPE).each_with_index do |c,i|
81
- color = rainbow(opts[:freq], opts[:os]+i/opts[:spread])
81
+ filtered = str.scan(ANSI_ESCAPE)
82
+ filtered.each_with_index do |c, i|
83
+ color = rainbow(opts[:freq], @os+i/opts[:spread])
82
84
  if opts[:invert] then
83
85
  print c[0], Paint.color(nil, color), c[1], "\e[49m"
84
86
  else
85
87
  print c[0], Paint.color(color), c[1], "\e[39m"
86
88
  end
87
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
88
98
  end
89
99
 
90
- def self.println_ani(str, opts={})
100
+ def self.println_ani(str, opts={}, chomped)
91
101
  return if str.empty?
92
102
  print "\e7"
103
+ @real_os = @os
93
104
  (1..opts[:duration]).each do |i|
94
105
  print "\e8"
95
- opts[:os] += opts[:spread]
96
- println_plain(str, opts)
106
+ @os += opts[:spread]
107
+ println_plain(str, opts, chomped)
97
108
  str.gsub!(/\e\[[0-?]*[@JKPX]/, "")
98
109
  sleep 1.0/opts[:speed]
99
110
  end
111
+ @os = @real_os
100
112
  end
101
113
 
102
114
  def self.set_mode(truecolor)
@@ -1,3 +1,3 @@
1
1
  module Lolcat
2
- VERSION = "99.9.20"
2
+ VERSION = "99.9.99"
3
3
  end
data/man/lolcat.6 CHANGED
@@ -1,4 +1,4 @@
1
- .TH LOLCAT 6 "June 11, 2017"
1
+ .TH LOLCAT 6 "April 4, 2019"
2
2
  .\" Please adjust this date whenever revising the manpage.
3
3
  .SH NAME
4
4
  lolcat \- rainbow coloring effect for text console display
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.20
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: 2018-12-02 00:00:00.000000000 Z
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,8 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
106
  - !ruby/object:Gem::Version
106
107
  version: '0'
107
108
  requirements: []
108
- rubyforge_project:
109
- rubygems_version: 2.7.6
109
+ rubygems_version: 3.0.3
110
110
  signing_key:
111
111
  specification_version: 4
112
112
  summary: Okay, no unicorns. But rainbows!!