ruby / irb

interactive Ruby
BSD 2-Clause "Simplified" License
392 stars 119 forks source link

Fix easter_egg run without RDoc, fix input-method test run without RDoc #998

Closed tompng closed 2 months ago

tompng commented 2 months ago

RDoc is planned to be a bundled gem, not a default gem in the future. Even if RDoc is not available, we want to run most of the tests in test_input_method.rb.

This pull request will:

EasterEgg with no pager

When USE_PAGER is set to false, or no pager command is available, IRB::Pager.page will fallback to STDOUT. We need to print "\e[?1049h" to switch to alternate screen and switch back to normal screen after pager is finished because easter_egg is called while rendering document dialog. We need to STDIN.raw { STDIN.getc } wait for more than 0 second before switch back to normal screen.