[ruby/irb] Improve easter_egg logo resolution

(https://github.com/ruby/irb/pull/987)

https://github.com/ruby/irb/commit/ab394db93f
This commit is contained in:
tomoya ishida 2024-08-14 13:06:02 +09:00 committed by git
parent e7046f1f57
commit f2f177edb3
2 changed files with 78 additions and 39 deletions

View File

@ -100,7 +100,7 @@ module IRB
private def easter_egg_logo(type) private def easter_egg_logo(type)
@easter_egg_logos ||= File.read(File.join(__dir__, 'ruby_logo.aa'), encoding: 'UTF-8:UTF-8') @easter_egg_logos ||= File.read(File.join(__dir__, 'ruby_logo.aa'), encoding: 'UTF-8:UTF-8')
.split(/TYPE: ([A-Z]+)\n/)[1..] .split(/TYPE: ([A-Z_]+)\n/)[1..]
.each_slice(2) .each_slice(2)
.to_h .to_h
@easter_egg_logos[type.to_s.upcase] @easter_egg_logos[type.to_s.upcase]
@ -112,7 +112,8 @@ module IRB
when :logo when :logo
require "rdoc" require "rdoc"
RDoc::RI::Driver.new.page do |io| RDoc::RI::Driver.new.page do |io|
io.write easter_egg_logo(:large) type = STDOUT.external_encoding == Encoding::UTF_8 ? :unicode_large : :ascii_large
io.write easter_egg_logo(type)
end end
when :dancing when :dancing
STDOUT.cooked do STDOUT.cooked do

View File

@ -1,41 +1,41 @@
TYPE: LARGE TYPE: ASCII_LARGE
-+smJYYN?mm- ,,,;;;;;;;;;;;;;;;;;;;;;;,,
HB"BBYT TQg NggT ,,,;;;;;;;;;,, ,;;;' ''';;,
9Q+g Nm,T 8g NJW ,,;;;''' ';;;, ,,;;'' '';,
YS+ N2NJ"Sg N? ,;;'' ;;;;;;;;,,,,,, ';;
BQg #( gT Nggggk J ,;;'' ;;;;';;;'''';;;;;;;;;,,,;;
5j NJ NJ NNge ,,;'' ;;;; ';;, ''''';;,
#Q #JJ NgT N( ,;;' ;;;' ';;, ;;
@j bj mT J ,;;' ,;;; '';,, ;;
Bj @/d NJ ( ,;;' ;;; ';;, ,;;
#q #(( NgT #J ;;' ;;;' '';,, ;;;
5d #(t mT $d ,;' ;;;; ';;, ;;'
#q @(@J NJB; ,;;' ,;;;;' ,,,,,,,,,,,,;;;;;
@( 5d ? HHH H HQmgggggggmN qD ,;' ,;;;;;;;;;;;;;;;;;;;;'''''''';;;
5d #uN 2QdH E O ;;' ,;;;;;;;;;,, ;;;;
5 5JSd Nd NJH @d j ;;' ,;;;'' ;;, ';;,, ,;;;;
Fd @J4d s NQH #d ( ;;' ,;;;' ;; '';;, ,;';;;
#( #o6d Nd NgH #d #d ;;' ,;;;' ;;, '';;,, ,;',;;;
4 B&Od v NgT #d F ,;;; ,;;;' ;; '';;,, ,;' ;;;'
#( 9JGd NH NgUd F ;;;; ,,;;;' ;;, ';;;' ;;;
#d #GJQ d NP $ ,;;; ,;;;;' ;; ,;;; ;;;
#J #U+#Q N Q # j ;;;;; ,,;;;;;' ;;, ,;';; ;;;
j /W BQ+ BQ d NJ NJ ;;;;;, ,,;;;;;;;' ;; ,;;' ;;; ;;;
- NjJH HBIjTQggPJQgW N W k #J ;;;;;;;,,,,,,,;;;;;;;;;;;;;;,,, ;;, ,;' ;; ;;;
#J b HYWgggN j s Nag d NN b #d ;;' ;;;;;;;;;;'''' ,;';; ''';;;;,,, ;; ,;; ;; ;;;
#J 5- D s Ngg N d Nd F ;; ;;;'' ;; ';; ''';;;;,,,, ;;, ,;;' ;;, ;;
Fd BKH2 #+ s NNgg J Q J ] ;; ;;;;, ;;' ';; ''';;;;,,;;;;' ';; ;;
F H @ J N y K(d P I ;;;;;;';, ,;; ;; '';;;;, ;;,;;
F4 E N? #d y #Q NJ E j ;;; ;; ;;, ;; ;; ,;;' ';;, ;;;;;
F W Nd q m Bg NxW N(H- ;; ;;; ;;, ;;' ;; ,,;'' ';;, ;;;;;
F d b @ m Hd gW vKJ ;; ;; ;; ;; ;; ,;;' '';, ;;;;
NJ d K d s Bg aT FDd ;;,;; ;; ;;' ;; ,;;'' ';,, ;;;'
b # d N m BQ mV N> ;;;; ';; ,;; ;;,,;;'' ';;, ;;;
e5 Nd #d NggggggQWH HHHH NJ - ';;; ';; ;; ,;;;;;;;;;;;;;,,,,,,,,,,,, ';;;;;
m7 NW H N HSVO1z=?11- ';, ';,;;' ,,,;;'' '''''''';;;;;;;;;;;;;;;;;;;
NgTH bB kH WBHWWHBHWmQgg&gggggNNN ';;,,, ;;;; ,,,,;;;;;;,,,,,;;;;;;;;;;;;;;;;;;;''''''''''''''
NNggggggNN ''';;;;;;;;;;;;;;'''''''''''''''
TYPE: ASCII TYPE: ASCII
,,,;;;;''''';;;'';, ,,,;;;;''''';;;'';,
,,;'' ';;,;;; ', ,,;'' ';;,;;; ',
@ -57,6 +57,44 @@ TYPE: ASCII
;;; '; ;' ';,,'' ';,;; ;;; '; ;' ';,,'' ';,;;
'; ';,; ,,;''''''''';;;;;;,,;;; '; ';,; ,,;''''''''';;;;;;,,;;;
';,,;;,,;;;;;;;;;;'''''''''''''' ';,,;;,,;;;;;;;;;;''''''''''''''
TYPE: UNICODE_LARGE
⣀⣤⣴⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣤⣄⡀
⢀⣀⣤⣴⣾⣿⣿⣿⠿⣿⣿⣿⣿⣦⣀ ⢀⣤⣶⣿⠿⠛⠁⠈⠉⠙⠻⢿⣷⣦⡀
⢀⣠⣴⣾⡿⠿⠛⠉⠉ ⠈⠙⢿⣿⣷⣤⡀ ⣠⣴⣾⡿⠟⠉ ⠉⠻⣿⣦
⢀⣤⣶⣿⠟⠋⠁ ⢿⣿⣿⣿⣿⣿⣿⣧⣤⣤⣤⣀⣀⣀⡀ ⠘⢿⣷⡀
⢀⣠⣾⡿⠟⠉ ⢸⣿⣿⣿⠟⢿⣿⣯⡙⠛⠛⠛⠿⠿⠿⢿⣿⣿⣶⣶⣶⣦⣤⣬⣿⣧
⣠⣴⣿⠟⠋ ⢸⣿⣿⡿ ⠈⠻⣿⣶⣄ ⠉⠉⠉⠙⠛⢻⣿⡆
⣠⣾⡿⠛⠁ ⣼⣿⣿⠃ ⠈⠙⢿⣷⣤⡀ ⠈⣿⡇
⣠⣾⡿⠋ ⢠⣿⣿⡏ ⠙⠻⣿⣦⣀ ⣿⡇
⣠⣾⡿⠋ ⢀⣿⣿⣿ ⠈⠛⢿⣷⣄⡀ ⢠⣿⡇
⢀⣾⡿⠋ ⢀⣾⣿⣿⠇ ⠙⠻⣿⣦⣀ ⢸⣿⡇
⢀⣴⣿⠟⠁ ⢀⣾⣿⣿⡟ ⠈⠻⢿⣷⣄ ⣾⣿⠇
⢠⣾⡿⠃ ⣠⣿⣿⣿⣿⠃ ⣀⣀⣀⣀⣀⣀⣀⣀⣤⣤⣤⣤⣽⣿⣿⣿⣿
⣰⣿⠟ ⣴⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠛⠛⠛⠛⠛⠛⠛⠛⣿⣿⣿
⣼⣿⠏ ⢠⣾⣿⣿⣿⡿⣿⣿⢿⣷⣦⣄ ⣼⣿⣿⣿
⣼⣿⠃ ⢀⣴⣿⣿⣿⠟⠋ ⢸⣿⡆⠈⠛⠿⣿⣦⣄⡀ ⣰⣿⣿⣿⡇
⢀⣾⣿⠃ ⢀⣴⣿⣿⣿⠟⠁ ⣿⣷ ⠈⠙⠻⣿⣶⣄⡀ ⣰⣿⠟⣿⣿⡇
⢀⣾⣿⠇ ⢀⣴⣿⣿⣿⠟⠁ ⢸⣿⡆ ⠙⠻⢿⣷⣤⣀ ⣰⣿⠏⢠⣿⣿⡇
⢠⣿⣿⡟ ⢀⣴⣿⣿⡿⠛⠁ ⣿⣷ ⠉⠻⢿⣷⣦⣀ ⣴⣿⠏ ⢸⣿⣿⠃
⣿⣿⣿⡇ ⣠⣴⣿⣿⡿⠋ ⢸⣿⡆ ⠈⠛⢿⣿⣿⠃ ⢸⣿⣿
⢠⣿⣿⣿ ⢀⣴⣾⣿⣿⡿⠋ ⠈⣿⣧ ⢠⣾⣿⣿ ⢸⣿⣿
⢸⣿⣿⣿⡇ ⣀⣴⣾⣿⣿⣿⡿⠋ ⢹⣿⡆ ⣴⣿⠟⢹⣿⡀ ⢸⣿⡿
⢸⣿⡟⣿⣿⣄ ⣀⣤⣶⣿⣿⣿⣿⣿⡟⠉ ⠈⣿⣷ ⢠⣾⡿⠋ ⢸⣿⡇ ⣼⣿⡇
⢸⣿⡇⢹⣿⣿⣷⣦⣤⣤⣤⣤⣤⣴⣶⣾⣿⣿⣿⣿⡿⠿⣿⣿⣿⣿⣷⣶⣤⣤⣀⡀ ⢹⣿⡆ ⢀⣴⣿⠟ ⣿⣧ ⣿⣿⡇
⢸⣿⠃ ⢿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠛⠛⠉⠉⠁ ⢰⣿⠟⣿⣷⡀⠉⠙⠛⠿⢿⣿⣶⣦⣤⣀⡀ ⠈⣿⣷ ⣠⣿⡿⠁ ⢿⣿ ⣿⣿⡇
⢸⣿ ⢀⣾⣿⣿⠋⠉⠁ ⢀⣿⡿ ⠘⣿⣷⡀ ⠉⠙⠛⠿⠿⣿⣶⣦⣤⣄⣀ ⢹⣿⡄ ⣠⣾⡿⠋ ⢸⣿⡆ ⣿⣿
⣸⣿⢀⣾⣿⣿⣿⣆ ⣸⣿⠃ ⠘⢿⣷⡀ ⠈⠉⠛⠻⠿⣿⣷⣶⣤⣌⣿⣷⣾⡿⠋ ⠘⣿⡇ ⣿⣿
⣿⣿⣾⡿⣿⡿⠹⣿⡆ ⢠⣿⡏ ⠈⢿⣷⡀ ⠈⠉⠙⣻⣿⣿⣿⣀ ⣿⣷⢰⣿⣿
⣿⣿⡿⢁⣿⡇ ⢻⣿⡄ ⣾⣿ ⠈⢿⣷⡀ ⢀⣤⣾⡿⠋⠈⠻⢿⣷⣄ ⢻⣿⢸⣿⡟
⣿⣿⠁⢸⣿⡇ ⢻⣿⡄ ⢸⣿⠇ ⠈⢿⣷⡀ ⣀⣴⣿⠟⠋ ⠙⢿⣷⣤⡀ ⢸⣿⣿⣿⡇
⣿⣿ ⢸⣿⠁ ⠈⢿⣷⡀ ⢀⣿⡟ ⠈⢿⣷⡀ ⢀⣤⣾⡿⠛⠁ ⠙⠻⣿⣦⡀ ⠈⣿⣿⣿⡇
⢸⣿⡄⣿⣿ ⠈⣿⣷⡀ ⣼⣿⠃ ⠈⢿⣷⡀ ⢀⣠⣶⣿⠟⠋ ⠈⠻⣿⣦⣄ ⣿⣿⣿⠇
⠈⣿⣷⣿⡿ ⠘⣿⣧ ⢠⣿⡏ ⠈⢿⣷⣄⣤⣶⣿⠟⠋ ⠈⠛⢿⣷⣄ ⢸⣿⣿
⠘⣿⣿⡇ ⠘⣿⣧ ⣾⣿ ⢀⣠⣼⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣀⣀⣀⣀⣀⣀⡀ ⠙⢿⣷⣼⣿⣿
⠈⠻⣿⣦⡀ ⠹⣿⣆⢸⣿⠇ ⣀⣠⣴⣾⡿⠟⠋⠁ ⠉⠉⠉⠉⠉⠉⠛⠛⣛⣛⣛⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⡿
⠈⠻⢿⣷⣦⣄⣀⡀ ⢹⣿⣿⡟ ⢀⣀⣀⣤⣤⣶⣾⣿⣿⣿⣯⣥⣤⣤⣤⣤⣶⣶⣶⣶⣶⣶⣶⣾⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠟⠛⠛⠛⠛⠛⠛⠛⠉⠉⠉⠉⠉⠉
⠉⠙⠛⠿⠿⠿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠉⠉⠉⠉⠉
TYPE: UNICODE TYPE: UNICODE
⣀⣤⣴⣾⣿⣿⣿⡛⠛⠛⠛⠛⣻⣿⠿⠛⠛⠶⣤⡀ ⣀⣤⣴⣾⣿⣿⣿⡛⠛⠛⠛⠛⣻⣿⠿⠛⠛⠶⣤⡀
⣀⣴⠾⠛⠉⠁ ⠙⣿⣶⣤⣶⣟⣉ ⠈⠻⣦ ⣀⣴⠾⠛⠉⠁ ⠙⣿⣶⣤⣶⣟⣉ ⠈⠻⣦