mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[ruby/irb] Fix auto indent with closed brace
A closed brace in auto-indent shouldn't affect the next brace in the same line, but it behaves like below: p() { } It's a bug. https://github.com/ruby/irb/commit/fbe59e344f
This commit is contained in:
parent
0719e1be11
commit
8b8cc01229
2 changed files with 15 additions and 0 deletions
|
@ -394,6 +394,7 @@ class RubyLex
|
||||||
spaces_of_nest.pop
|
spaces_of_nest.pop
|
||||||
corresponding_token_depth = nil
|
corresponding_token_depth = nil
|
||||||
end
|
end
|
||||||
|
open_brace_on_line -= 1
|
||||||
when :on_kw
|
when :on_kw
|
||||||
next if index > 0 and @tokens[index - 1][3].allbits?(Ripper::EXPR_FNAME)
|
next if index > 0 and @tokens[index - 1][3].allbits?(Ripper::EXPR_FNAME)
|
||||||
case t[2]
|
case t[2]
|
||||||
|
|
|
@ -112,5 +112,19 @@ module TestIRB
|
||||||
assert_indenting(lines, row.new_line_spaces, true)
|
assert_indenting(lines, row.new_line_spaces, true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_a_closed_brace_and_not_closed_brace_in_a_line
|
||||||
|
input_with_correct_indents = [
|
||||||
|
Row.new(%q(p() {), nil, 2),
|
||||||
|
Row.new(%q(}), 0, 0),
|
||||||
|
]
|
||||||
|
|
||||||
|
lines = []
|
||||||
|
input_with_correct_indents.each do |row|
|
||||||
|
lines << row.content
|
||||||
|
assert_indenting(lines, row.current_line_spaces, false)
|
||||||
|
assert_indenting(lines, row.new_line_spaces, true)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue