module Rib::Multiline
Constants
- BINARY_OP
test those: ruby -e '“' ruby -e '{' ruby -e '[' ruby -e '(' ruby -e '/' ruby -e 'class C' ruby -e 'def f' ruby -e 'begin' ruby -e 'eval ”1+1.to_i +“' ruby -e 'eval ”1+1.to_i -“' ruby -e 'eval ”1+1.to_i *“' ruby -e 'eval ”1+1.to_i /“' ruby -e 'eval ”1+1.to_i &“' ruby -e 'eval ”1+1.to_i |“' ruby -e 'eval ”1+1.to_i ^“'
- ERROR_REGEXP
- RUBY20_IO
Public Instance Methods
handle_interrupt()
click to toggle source
Calls superclass method
# File lib/rib/core/multiline.rb, line 112 def handle_interrupt return super if Multiline.disabled? if multiline_buffer.empty? super else print "[removed this line: #{multiline_buffer.pop}]" super throw :rib_multiline end end
loop_eval(input)
click to toggle source
Calls superclass method
# File lib/rib/core/multiline.rb, line 83 def loop_eval input return super if Multiline.disabled? multiline_buffer << input if input =~ /\\\z/ throw :rib_multiline else super(multiline_buffer.join("\n")) end end
loop_once()
click to toggle source
multiline?(err)
click to toggle source
multiline_prompt()
click to toggle source
# File lib/rib/core/multiline.rb, line 129 def multiline_prompt config[:multiline_prompt] ||= '| ' end
print_eval_error(err)
click to toggle source
Calls superclass method
# File lib/rib/core/multiline.rb, line 93 def print_eval_error err return super if Multiline.disabled? if multiline?(err) throw :rib_multiline else super end end
prompt()
click to toggle source
Calls superclass method
# File lib/rib/core/multiline.rb, line 102 def prompt return super if Multiline.disabled? if multiline_buffer.empty? super else mprompt = multiline_prompt[0, config[:prompt].size] "#{' '*(config[:prompt].size-mprompt.size)}#{mprompt}" end end
Private Instance Methods
multiline_buffer()
click to toggle source
# File lib/rib/core/multiline.rb, line 135 def multiline_buffer @multiline_buffer ||= [] end