[ruby/irb] Hide debugger hint after the input is submitted
(https://github.com/ruby/irb/pull/789) If `output_modifier_proc`'s `complete` arg is true, it means the input is submitted. In that case, debugger hint doesn't provide value to users and adds noise to the output. So we hide it in such case. https://github.com/ruby/irb/commit/f86d9dbe2f
This commit is contained in:
parent
71a8daecd9
commit
a07d84b63c
@ -64,7 +64,7 @@ module IRB
|
||||
unless output.strip.empty?
|
||||
cmd = output.split(/\s/, 2).first
|
||||
|
||||
if DEBUGGER__.commands.key?(cmd)
|
||||
if !complete && DEBUGGER__.commands.key?(cmd)
|
||||
output = output.sub(/\n$/, " # debug command\n")
|
||||
end
|
||||
end
|
||||
|
@ -389,11 +389,15 @@ class IRB::RenderingTest < Yamatanooroti::TestCase
|
||||
script.close
|
||||
start_terminal(40, 80, %W{ruby -I#{@pwd}/lib #{script.to_path}}, startup_message: 'start IRB')
|
||||
write("debug\n")
|
||||
write("n")
|
||||
write("pp 1\n")
|
||||
write("pp 1")
|
||||
close
|
||||
|
||||
screen = result.join("\n").sub(/\n*\z/, "\n")
|
||||
assert_include(screen, "irb:rdbg(main):002> n # debug command")
|
||||
# submitted input shouldn't contain hint
|
||||
assert_include(screen, "irb:rdbg(main):002> pp 1\n")
|
||||
# unsubmitted input should contain hint
|
||||
assert_include(screen, "irb:rdbg(main):003> pp 1 # debug command\n")
|
||||
ensure
|
||||
File.unlink(script) if script
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user