Skip to content

Commit f2f177e

Browse files
tompngmatzbot
authored andcommitted
[ruby/irb] Improve easter_egg logo resolution
(ruby/irb#987) ruby/irb@ab394db93f
1 parent e7046f1 commit f2f177e

File tree

2 files changed

+78
-39
lines changed

2 files changed

+78
-39
lines changed

lib/irb/easter-egg.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def render_frame(i)
100100

101101
private def easter_egg_logo(type)
102102
@easter_egg_logos ||= File.read(File.join(__dir__, 'ruby_logo.aa'), encoding: 'UTF-8:UTF-8')
103-
.split(/TYPE: ([A-Z]+)\n/)[1..]
103+
.split(/TYPE: ([A-Z_]+)\n/)[1..]
104104
.each_slice(2)
105105
.to_h
106106
@easter_egg_logos[type.to_s.upcase]
@@ -112,7 +112,8 @@ def render_frame(i)
112112
when :logo
113113
require "rdoc"
114114
RDoc::RI::Driver.new.page do |io|
115-
io.write easter_egg_logo(:large)
115+
type = STDOUT.external_encoding == Encoding::UTF_8 ? :unicode_large : :ascii_large
116+
io.write easter_egg_logo(type)
116117
end
117118
when :dancing
118119
STDOUT.cooked do

lib/irb/ruby_logo.aa

Lines changed: 75 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
1-
TYPE: LARGE
1+
TYPE: ASCII_LARGE
22

3-
-+smJYYN?mm-
4-
HB"BBYT TQg NggT
5-
9Q+g Nm,T 8g NJW
6-
YS+ N2NJ"Sg N?
7-
BQg #( gT Nggggk J
8-
5j NJ NJ NNge
9-
#Q #JJ NgT N(
10-
@j bj mT J
11-
Bj @/d NJ (
12-
#q #(( NgT #J
13-
5d #(t mT $d
14-
#q @(@J NJB;
15-
@( 5d ? HHH H HQmgggggggmN qD
16-
5d #uN 2QdH E O
17-
5 5JSd Nd NJH @d j
18-
Fd @J4d s NQH #d (
19-
#( #o6d Nd NgH #d #d
20-
4 B&Od v NgT #d F
21-
#( 9JGd NH NgUd F
22-
#d #GJQ d NP $
23-
#J #U+#Q N Q # j
24-
j /W BQ+ BQ d NJ NJ
25-
- NjJH HBIjTQggPJQgW N W k #J
26-
#J b HYWgggN j s Nag d NN b #d
27-
#J 5- D s Ngg N d Nd F
28-
Fd BKH2 #+ s NNgg J Q J ]
29-
F H @ J N y K(d P I
30-
F4 E N? #d y #Q NJ E j
31-
F W Nd q m Bg NxW N(H-
32-
F d b @ m Hd gW vKJ
33-
NJ d K d s Bg aT FDd
34-
b # d N m BQ mV N>
35-
e5 Nd #d NggggggQWH HHHH NJ -
36-
m7 NW H N HSVO1z=?11-
37-
NgTH bB kH WBHWWHBHWmQgg&gggggNNN
38-
NNggggggNN
3+
,,,;;;;;;;;;;;;;;;;;;;;;;,,
4+
,,,;;;;;;;;;,, ,;;;' ''';;,
5+
,,;;;''' ';;;, ,,;;'' '';,
6+
,;;'' ;;;;;;;;,,,,,, ';;
7+
,;;'' ;;;;';;;'''';;;;;;;;;,,,;;
8+
,,;'' ;;;; ';;, ''''';;,
9+
,;;' ;;;' ';;, ;;
10+
,;;' ,;;; '';,, ;;
11+
,;;' ;;; ';;, ,;;
12+
;;' ;;;' '';,, ;;;
13+
,;' ;;;; ';;, ;;'
14+
,;;' ,;;;;' ,,,,,,,,,,,,;;;;;
15+
,;' ,;;;;;;;;;;;;;;;;;;;;'''''''';;;
16+
;;' ,;;;;;;;;;,, ;;;;
17+
;;' ,;;;'' ;;, ';;,, ,;;;;
18+
;;' ,;;;' ;; '';;, ,;';;;
19+
;;' ,;;;' ;;, '';;,, ,;',;;;
20+
,;;; ,;;;' ;; '';;,, ,;' ;;;'
21+
;;;; ,,;;;' ;;, ';;;' ;;;
22+
,;;; ,;;;;' ;; ,;;; ;;;
23+
;;;;; ,,;;;;;' ;;, ,;';; ;;;
24+
;;;;;, ,,;;;;;;;' ;; ,;;' ;;; ;;;
25+
;;;;;;;,,,,,,,;;;;;;;;;;;;;;,,, ;;, ,;' ;; ;;;
26+
;;' ;;;;;;;;;;'''' ,;';; ''';;;;,,, ;; ,;; ;; ;;;
27+
;; ;;;'' ;; ';; ''';;;;,,,, ;;, ,;;' ;;, ;;
28+
;; ;;;;, ;;' ';; ''';;;;,,;;;;' ';; ;;
29+
;;;;;;';, ,;; ;; '';;;;, ;;,;;
30+
;;; ;; ;;, ;; ;; ,;;' ';;, ;;;;;
31+
;; ;;; ;;, ;;' ;; ,,;'' ';;, ;;;;;
32+
;; ;; ;; ;; ;; ,;;' '';, ;;;;
33+
;;,;; ;; ;;' ;; ,;;'' ';,, ;;;'
34+
;;;; ';; ,;; ;;,,;;'' ';;, ;;;
35+
';;; ';; ;; ,;;;;;;;;;;;;;,,,,,,,,,,,, ';;;;;
36+
';, ';,;;' ,,,;;'' '''''''';;;;;;;;;;;;;;;;;;;
37+
';;,,, ;;;; ,,,,;;;;;;,,,,,;;;;;;;;;;;;;;;;;;;''''''''''''''
38+
''';;;;;;;;;;;;;;'''''''''''''''
3939
TYPE: ASCII
4040
,,,;;;;''''';;;'';,
4141
,,;'' ';;,;;; ',
@@ -57,6 +57,44 @@ TYPE: ASCII
5757
;;; '; ;' ';,,'' ';,;;
5858
'; ';,; ,,;''''''''';;;;;;,,;;;
5959
';,,;;,,;;;;;;;;;;''''''''''''''
60+
TYPE: UNICODE_LARGE
61+
62+
⣀⣤⣴⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣤⣄⡀
63+
⢀⣀⣤⣴⣾⣿⣿⣿⠿⣿⣿⣿⣿⣦⣀ ⢀⣤⣶⣿⠿⠛⠁⠈⠉⠙⠻⢿⣷⣦⡀
64+
⢀⣠⣴⣾⡿⠿⠛⠉⠉ ⠈⠙⢿⣿⣷⣤⡀ ⣠⣴⣾⡿⠟⠉ ⠉⠻⣿⣦
65+
⢀⣤⣶⣿⠟⠋⠁ ⢿⣿⣿⣿⣿⣿⣿⣧⣤⣤⣤⣀⣀⣀⡀ ⠘⢿⣷⡀
66+
⢀⣠⣾⡿⠟⠉ ⢸⣿⣿⣿⠟⢿⣿⣯⡙⠛⠛⠛⠿⠿⠿⢿⣿⣿⣶⣶⣶⣦⣤⣬⣿⣧
67+
⣠⣴⣿⠟⠋ ⢸⣿⣿⡿ ⠈⠻⣿⣶⣄ ⠉⠉⠉⠙⠛⢻⣿⡆
68+
⣠⣾⡿⠛⠁ ⣼⣿⣿⠃ ⠈⠙⢿⣷⣤⡀ ⠈⣿⡇
69+
⣠⣾⡿⠋ ⢠⣿⣿⡏ ⠙⠻⣿⣦⣀ ⣿⡇
70+
⣠⣾⡿⠋ ⢀⣿⣿⣿ ⠈⠛⢿⣷⣄⡀ ⢠⣿⡇
71+
⢀⣾⡿⠋ ⢀⣾⣿⣿⠇ ⠙⠻⣿⣦⣀ ⢸⣿⡇
72+
⢀⣴⣿⠟⠁ ⢀⣾⣿⣿⡟ ⠈⠻⢿⣷⣄ ⣾⣿⠇
73+
⢠⣾⡿⠃ ⣠⣿⣿⣿⣿⠃ ⣀⣀⣀⣀⣀⣀⣀⣀⣤⣤⣤⣤⣽⣿⣿⣿⣿
74+
⣰⣿⠟ ⣴⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠛⠛⠛⠛⠛⠛⠛⠛⣿⣿⣿
75+
⣼⣿⠏ ⢠⣾⣿⣿⣿⡿⣿⣿⢿⣷⣦⣄ ⣼⣿⣿⣿
76+
⣼⣿⠃ ⢀⣴⣿⣿⣿⠟⠋ ⢸⣿⡆⠈⠛⠿⣿⣦⣄⡀ ⣰⣿⣿⣿⡇
77+
⢀⣾⣿⠃ ⢀⣴⣿⣿⣿⠟⠁ ⣿⣷ ⠈⠙⠻⣿⣶⣄⡀ ⣰⣿⠟⣿⣿⡇
78+
⢀⣾⣿⠇ ⢀⣴⣿⣿⣿⠟⠁ ⢸⣿⡆ ⠙⠻⢿⣷⣤⣀ ⣰⣿⠏⢠⣿⣿⡇
79+
⢠⣿⣿⡟ ⢀⣴⣿⣿⡿⠛⠁ ⣿⣷ ⠉⠻⢿⣷⣦⣀ ⣴⣿⠏ ⢸⣿⣿⠃
80+
⣿⣿⣿⡇ ⣠⣴⣿⣿⡿⠋ ⢸⣿⡆ ⠈⠛⢿⣿⣿⠃ ⢸⣿⣿
81+
⢠⣿⣿⣿ ⢀⣴⣾⣿⣿⡿⠋ ⠈⣿⣧ ⢠⣾⣿⣿ ⢸⣿⣿
82+
⢸⣿⣿⣿⡇ ⣀⣴⣾⣿⣿⣿⡿⠋ ⢹⣿⡆ ⣴⣿⠟⢹⣿⡀ ⢸⣿⡿
83+
⢸⣿⡟⣿⣿⣄ ⣀⣤⣶⣿⣿⣿⣿⣿⡟⠉ ⠈⣿⣷ ⢠⣾⡿⠋ ⢸⣿⡇ ⣼⣿⡇
84+
⢸⣿⡇⢹⣿⣿⣷⣦⣤⣤⣤⣤⣤⣴⣶⣾⣿⣿⣿⣿⡿⠿⣿⣿⣿⣿⣷⣶⣤⣤⣀⡀ ⢹⣿⡆ ⢀⣴⣿⠟ ⣿⣧ ⣿⣿⡇
85+
⢸⣿⠃ ⢿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠛⠛⠉⠉⠁ ⢰⣿⠟⣿⣷⡀⠉⠙⠛⠿⢿⣿⣶⣦⣤⣀⡀ ⠈⣿⣷ ⣠⣿⡿⠁ ⢿⣿ ⣿⣿⡇
86+
⢸⣿ ⢀⣾⣿⣿⠋⠉⠁ ⢀⣿⡿ ⠘⣿⣷⡀ ⠉⠙⠛⠿⠿⣿⣶⣦⣤⣄⣀ ⢹⣿⡄ ⣠⣾⡿⠋ ⢸⣿⡆ ⣿⣿
87+
⣸⣿⢀⣾⣿⣿⣿⣆ ⣸⣿⠃ ⠘⢿⣷⡀ ⠈⠉⠛⠻⠿⣿⣷⣶⣤⣌⣿⣷⣾⡿⠋ ⠘⣿⡇ ⣿⣿
88+
⣿⣿⣾⡿⣿⡿⠹⣿⡆ ⢠⣿⡏ ⠈⢿⣷⡀ ⠈⠉⠙⣻⣿⣿⣿⣀ ⣿⣷⢰⣿⣿
89+
⣿⣿⡿⢁⣿⡇ ⢻⣿⡄ ⣾⣿ ⠈⢿⣷⡀ ⢀⣤⣾⡿⠋⠈⠻⢿⣷⣄ ⢻⣿⢸⣿⡟
90+
⣿⣿⠁⢸⣿⡇ ⢻⣿⡄ ⢸⣿⠇ ⠈⢿⣷⡀ ⣀⣴⣿⠟⠋ ⠙⢿⣷⣤⡀ ⢸⣿⣿⣿⡇
91+
⣿⣿ ⢸⣿⠁ ⠈⢿⣷⡀ ⢀⣿⡟ ⠈⢿⣷⡀ ⢀⣤⣾⡿⠛⠁ ⠙⠻⣿⣦⡀ ⠈⣿⣿⣿⡇
92+
⢸⣿⡄⣿⣿ ⠈⣿⣷⡀ ⣼⣿⠃ ⠈⢿⣷⡀ ⢀⣠⣶⣿⠟⠋ ⠈⠻⣿⣦⣄ ⣿⣿⣿⠇
93+
⠈⣿⣷⣿⡿ ⠘⣿⣧ ⢠⣿⡏ ⠈⢿⣷⣄⣤⣶⣿⠟⠋ ⠈⠛⢿⣷⣄ ⢸⣿⣿
94+
⠘⣿⣿⡇ ⠘⣿⣧ ⣾⣿ ⢀⣠⣼⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣀⣀⣀⣀⣀⣀⡀ ⠙⢿⣷⣼⣿⣿
95+
⠈⠻⣿⣦⡀ ⠹⣿⣆⢸⣿⠇ ⣀⣠⣴⣾⡿⠟⠋⠁ ⠉⠉⠉⠉⠉⠉⠛⠛⣛⣛⣛⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⡿
96+
⠈⠻⢿⣷⣦⣄⣀⡀ ⢹⣿⣿⡟ ⢀⣀⣀⣤⣤⣶⣾⣿⣿⣿⣯⣥⣤⣤⣤⣤⣶⣶⣶⣶⣶⣶⣶⣾⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠟⠛⠛⠛⠛⠛⠛⠛⠉⠉⠉⠉⠉⠉
97+
⠉⠙⠛⠿⠿⠿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠉⠉⠉⠉⠉
6098
TYPE: UNICODE
6199
⣀⣤⣴⣾⣿⣿⣿⡛⠛⠛⠛⠛⣻⣿⠿⠛⠛⠶⣤⡀
62100
⣀⣴⠾⠛⠉⠁ ⠙⣿⣶⣤⣶⣟⣉ ⠈⠻⣦

0 commit comments

Comments
 (0)