diff options
author | Yoshinao Muramatu <ysno@ac.auone-net.jp> | 2021-02-17 23:28:47 +0900 |
---|---|---|
committer | aycabta <aycabta@gmail.com> | 2021-02-21 06:43:41 +0900 |
commit | 38cefac7ce277d8ea41c600e67a2046da3715ac3 (patch) | |
tree | 7a13fed67d31b4a78c02c500c4c492cba414a2ca /lib/reline/line_editor.rb | |
parent | 7aa3bc84039a1b5d9ddfc491ca32753346163dd6 (diff) | |
download | ruby-38cefac7ce277d8ea41c600e67a2046da3715ac3.tar.gz |
[ruby/reline] We still need support new and legacy behavior.
Revert "Support for change in Windows-specific behavior at eol"
This reverts commit cad4de6ee841b43f3f0e441626f9415c3eda0f82.
https://github.com/ruby/reline/commit/646587fc2c
Diffstat (limited to 'lib/reline/line_editor.rb')
-rw-r--r-- | lib/reline/line_editor.rb | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb index 793cad7567..99877329af 100644 --- a/lib/reline/line_editor.rb +++ b/lib/reline/line_editor.rb @@ -725,13 +725,17 @@ class Reline::LineEditor Reline::IOGate.move_cursor_column(0) if line.nil? if calculate_width(visual_lines[index - 1], true) == Reline::IOGate.get_screen_size.last - # Reaches the end of line. - # - # When the cursor is at the end of the line and erases characters - # after the cursor, some terminals delete the character at the - # cursor position. - move_cursor_down(1) - Reline::IOGate.move_cursor_column(0) + # reaches the end of line + if Reline::IOGate.win? + # A newline is automatically inserted if a character is rendered at + # eol on command prompt. + else + # When the cursor is at the end of the line and erases characters + # after the cursor, some terminals delete the character at the + # cursor position. + move_cursor_down(1) + Reline::IOGate.move_cursor_column(0) + end else Reline::IOGate.erase_after_cursor move_cursor_down(1) @@ -740,6 +744,10 @@ class Reline::LineEditor next end @output.write line + if Reline::IOGate.win? and calculate_width(line, true) == Reline::IOGate.get_screen_size.last + # A newline is automatically inserted if a character is rendered at eol on command prompt. + @rest_height -= 1 if @rest_height > 0 + end @output.flush if @first_prompt @first_prompt = false |