diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb index 0c23e67ebd..3b3fc23080 100644 --- a/lib/reline/line_editor.rb +++ b/lib/reline/line_editor.rb @@ -700,8 +700,9 @@ class Reline::LineEditor s = ' ' * 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) end - @output.write "\e[39m\e[49m%-#{dialog.width}s\e[39m\e[49m" % s + @output.write "\e[39m\e[49m#{s}\e[39m\e[49m" move_cursor_down(1) if i < (line_num - 1) end move_cursor_up(old_dialog.vertical_offset + line_num - 1 - y_diff) @@ -717,8 +718,9 @@ class Reline::LineEditor s = ' ' * 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) end - @output.write "\e[39m\e[49m%-#{dialog.width}s\e[39m\e[49m" % s + @output.write "\e[39m\e[49m#{s}\e[39m\e[49m" move_cursor_down(1) if i < (line_num - 1) end move_cursor_up(dialog.vertical_offset + dialog.contents.size + line_num - 1 - y_diff) @@ -735,8 +737,9 @@ class Reline::LineEditor s = ' ' * width else s = Reline::Unicode.take_range(visual_lines[start + i], old_dialog.column, width) + s = padding_space_with_escape_sequences(s, dialog.width) end - @output.write "\e[39m\e[49m%-#{width}s\e[39m\e[49m" % s + @output.write "\e[39m\e[49m#{s}\e[39m\e[49m" move_cursor_down(1) if i < (line_num - 1) end move_cursor_up(old_dialog.vertical_offset + line_num - 1 - y_diff) @@ -753,9 +756,10 @@ class Reline::LineEditor s = ' ' * width else s = Reline::Unicode.take_range(visual_lines[start + i], old_dialog.column + dialog.width, width) + s = padding_space_with_escape_sequences(s, dialog.width) end Reline::IOGate.move_cursor_column(dialog.column + dialog.width) - @output.write "\e[39m\e[49m%-#{width}s\e[39m\e[49m" % s + @output.write "\e[39m\e[49m#{s}\e[39m\e[49m" move_cursor_down(1) if i < (line_num - 1) end move_cursor_up(old_dialog.vertical_offset + line_num - 1 + y_diff)