зеркало из https://github.com/github/ruby.git
Use IRB.conf[:AUTO_INDENT] setting in multiline mode
This commit is contained in:
Родитель
c972932986
Коммит
d009e321a0
|
@ -491,6 +491,8 @@ module IRB
|
|||
end
|
||||
end
|
||||
|
||||
@scanner.set_auto_indent(@context) if @context.auto_indent_mode
|
||||
|
||||
@scanner.each_top_level_statement do |line, line_no|
|
||||
signal_status(:IN_EVAL) do
|
||||
begin
|
||||
|
|
|
@ -255,7 +255,7 @@ module IRB
|
|||
Reline.input = @stdin
|
||||
Reline.output = @stdout
|
||||
Reline.prompt_proc = @prompt_proc
|
||||
Reline.auto_indent_proc = @auto_indent_proc
|
||||
Reline.auto_indent_proc = @auto_indent_proc if @auto_indent_proc
|
||||
if l = readmultiline(@prompt, false, &@check_termination_proc)
|
||||
HISTORY.push(l) if !l.empty?
|
||||
@line[@line_no += 1] = l + "\n"
|
||||
|
|
|
@ -53,7 +53,26 @@ class RubyLex
|
|||
result
|
||||
end
|
||||
end
|
||||
if @io.respond_to?(:auto_indent)
|
||||
if p.respond_to?(:call)
|
||||
@input = p
|
||||
elsif block_given?
|
||||
@input = block
|
||||
else
|
||||
@input = Proc.new{@io.gets}
|
||||
end
|
||||
end
|
||||
|
||||
def set_prompt(p = nil, &block)
|
||||
p = block if block_given?
|
||||
if p.respond_to?(:call)
|
||||
@prompt = p
|
||||
else
|
||||
@prompt = Proc.new{print p}
|
||||
end
|
||||
end
|
||||
|
||||
def set_auto_indent(context)
|
||||
if @io.respond_to?(:auto_indent) and context.auto_indent_mode
|
||||
@io.auto_indent do |lines, line_index, byte_pointer, is_newline|
|
||||
if is_newline
|
||||
md = lines[line_index - 1].match(/(\A +)/)
|
||||
|
@ -82,22 +101,6 @@ class RubyLex
|
|||
end
|
||||
end
|
||||
end
|
||||
if p.respond_to?(:call)
|
||||
@input = p
|
||||
elsif block_given?
|
||||
@input = block
|
||||
else
|
||||
@input = Proc.new{@io.gets}
|
||||
end
|
||||
end
|
||||
|
||||
def set_prompt(p = nil, &block)
|
||||
p = block if block_given?
|
||||
if p.respond_to?(:call)
|
||||
@prompt = p
|
||||
else
|
||||
@prompt = Proc.new{print p}
|
||||
end
|
||||
end
|
||||
|
||||
def check_state(code)
|
||||
|
|
Загрузка…
Ссылка в новой задаче