diff --git a/lib/debug/config.rb b/lib/debug/config.rb index eb132ce4a..86b9bfdc9 100644 --- a/lib/debug/config.rb +++ b/lib/debug/config.rb @@ -163,11 +163,7 @@ def update conf if defined?(SESSION) && SESSION.active? # irb_console is switched from true to false if old - Reline.completion_proc = nil - Reline.output_modifier_proc = nil - Reline.autocompletion = false - Reline.dig_perfect_match_proc = nil - SESSION.reset_ui UI_LocalConsole.new + SESSION.deactivate_irb_integration # irb_console is switched from false to true else if CONFIG[:open] diff --git a/lib/debug/irb_integration.rb b/lib/debug/irb_integration.rb index a2ea34b65..3fc92ea61 100644 --- a/lib/debug/irb_integration.rb +++ b/lib/debug/irb_integration.rb @@ -24,4 +24,14 @@ def activate_irb_integration IRB::Context.prepend(IrbPatch) end end + + class Session + def deactivate_irb_integration + Reline.completion_proc = nil + Reline.output_modifier_proc = nil + Reline.autocompletion = false + Reline.dig_perfect_match_proc = nil + reset_ui UI_LocalConsole.new + end + end end