summaryrefslogtreecommitdiff
path: root/lib/reline
diff options
context:
space:
mode:
Diffstat (limited to 'lib/reline')
-rw-r--r--lib/reline/line_editor.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb
index 8153aaba05..28daae8884 100644
--- a/lib/reline/line_editor.rb
+++ b/lib/reline/line_editor.rb
@@ -671,8 +671,10 @@ class Reline::LineEditor
dialog.set_cursor_pos(cursor_column, @first_line_started_from + @started_from)
dialog_render_info = dialog.call(@last_key)
if dialog_render_info.nil? or dialog_render_info.contents.nil? or dialog_render_info.contents.empty?
+ lines = whole_lines
dialog.lines_backup = {
- lines: modify_lines(whole_lines),
+ unmodified_lines: lines,
+ lines: modify_lines(lines),
line_index: @line_index,
first_line_started_from: @first_line_started_from,
started_from: @started_from,
@@ -774,8 +776,10 @@ class Reline::LineEditor
Reline::IOGate.move_cursor_column(cursor_column)
move_cursor_up(dialog.vertical_offset + dialog.contents.size - 1)
Reline::IOGate.show_cursor
+ lines = whole_lines
dialog.lines_backup = {
- lines: modify_lines(whole_lines),
+ unmodified_lines: lines,
+ lines: modify_lines(lines),
line_index: @line_index,
first_line_started_from: @first_line_started_from,
started_from: @started_from,
@@ -785,7 +789,7 @@ class Reline::LineEditor
private def reset_dialog(dialog, old_dialog)
return if dialog.lines_backup.nil? or old_dialog.contents.nil?
- prompt, prompt_width, prompt_list = check_multiline_prompt(dialog.lines_backup[:lines])
+ prompt, prompt_width, prompt_list = check_multiline_prompt(dialog.lines_backup[:unmodified_lines])
visual_lines = []
visual_start = nil
dialog.lines_backup[:lines].each_with_index { |l, i|
@@ -896,7 +900,7 @@ class Reline::LineEditor
private def clear_each_dialog(dialog)
dialog.trap_key = nil
return unless dialog.contents
- prompt, prompt_width, prompt_list = check_multiline_prompt(dialog.lines_backup[:lines])
+ prompt, prompt_width, prompt_list = check_multiline_prompt(dialog.lines_backup[:unmodified_lines])
visual_lines = []
visual_lines_under_dialog = []
visual_start = nil