1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[ruby/reline] Erase lines correctly when dialog height is changed

68d2516551
This commit is contained in:
aycabta 2021-09-10 07:36:28 +09:00 committed by git
parent f51ce20c6a
commit 5af602e4d4

View file

@ -764,10 +764,10 @@ class Reline::LineEditor
line_num.times do |i|
Reline::IOGate.move_cursor_column(old_dialog.column)
if visual_lines[start + i].nil?
s = ' ' * dialog.width
s = ' ' * old_dialog.width
else
s = Reline::Unicode.take_range(visual_lines[start + i], old_dialog.column, dialog.width)
s = padding_space_with_escape_sequences(s, dialog.width)
s = Reline::Unicode.take_range(visual_lines[start + i], old_dialog.column, old_dialog.width)
s = padding_space_with_escape_sequences(s, old_dialog.width)
end
@output.write "\e[39m\e[49m#{s}\e[39m\e[49m"
move_cursor_down(1) if i < (line_num - 1)
@ -782,10 +782,10 @@ class Reline::LineEditor
line_num.times do |i|
Reline::IOGate.move_cursor_column(old_dialog.column)
if visual_lines[start + i].nil?
s = ' ' * dialog.width
s = ' ' * old_dialog.width
else
s = Reline::Unicode.take_range(visual_lines[start + i], old_dialog.column, dialog.width)
s = padding_space_with_escape_sequences(s, dialog.width)
s = Reline::Unicode.take_range(visual_lines[start + i], old_dialog.column, old_dialog.width)
s = padding_space_with_escape_sequences(s, old_dialog.width)
end
@output.write "\e[39m\e[49m#{s}\e[39m\e[49m"
move_cursor_down(1) if i < (line_num - 1)