diff options
Diffstat (limited to 'lib/irb/input-method.rb')
-rw-r--r-- | lib/irb/input-method.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/irb/input-method.rb b/lib/irb/input-method.rb index f491d5a760..1f4f1d4746 100644 --- a/lib/irb/input-method.rb +++ b/lib/irb/input-method.rb @@ -142,13 +142,17 @@ module IRB @stdout = IO.open(STDOUT.to_i, 'w', :external_encoding => IRB.conf[:LC_MESSAGES].encoding, :internal_encoding => "-") end + def check_termination(&block) + @check_termination_proc = block + end + # Reads the next line from this input method. # # See IO#gets for more information. def gets Readline.input = @stdin Readline.output = @stdout - if l = readline(@prompt, false) + if l = readmultiline(@prompt, false, &@check_termination_proc) HISTORY.push(l) if !l.empty? @line[@line_no += 1] = l + "\n" else |