diff options
author | aycabta <aycabta@gmail.com> | 2019-12-03 13:02:01 +0900 |
---|---|---|
committer | aycabta <aycabta@gmail.com> | 2019-12-03 13:02:50 +0900 |
commit | 027e847cd2540553c9ddcf1b39028c43258a3fb4 (patch) | |
tree | e36b320e8f28ff155ade4735e01ce6ada2b8d611 /lib | |
parent | 14a17063a11a01d518b4bbaf0eb967330aec3984 (diff) | |
download | ruby-027e847cd2540553c9ddcf1b39028c43258a3fb4.tar.gz |
Fix auto-indent behavior correctly
Diffstat (limited to 'lib')
-rw-r--r-- | lib/irb/ruby-lex.rb | 2 | ||||
-rw-r--r-- | lib/reline/line_editor.rb | 9 |
2 files changed, 4 insertions, 7 deletions
diff --git a/lib/irb/ruby-lex.rb b/lib/irb/ruby-lex.rb index 1761afe895..24074f323d 100644 --- a/lib/irb/ruby-lex.rb +++ b/lib/irb/ruby-lex.rb @@ -366,9 +366,9 @@ class RubyLex spaces_of_nest = [] spaces_at_line_head = 0 @tokens.each_with_index do |t, index| - corresponding_token_depth = nil case t[1] when :on_ignored_nl, :on_nl, :on_comment + corresponding_token_depth = nil spaces_at_line_head = 0 is_first_spaces_of_line = true is_first_printable_of_line = true diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb index 5d325bc7c4..072238f8a8 100644 --- a/lib/reline/line_editor.rb +++ b/lib/reline/line_editor.rb @@ -815,12 +815,9 @@ class Reline::LineEditor @line = ' ' * new_indent + @line.lstrip new_indent = nil - (new_lines[-2].size + 1).times do |n| - result = @auto_indent_proc.(new_lines[0..-2], @line_index - 1, n, false) - if result - new_indent = result - break - end + result = @auto_indent_proc.(new_lines[0..-2], @line_index - 1, (new_lines[-2].size + 1), false) + if result + new_indent = result end if new_indent&.>= 0 @line = ' ' * new_indent + @line.lstrip |