Skip to content

Commit f4bda85

Browse files
committed
Remove one unnecessary nest for simplicity's sake
1 parent 94efff8 commit f4bda85

File tree

1 file changed

+19
-20
lines changed

1 file changed

+19
-20
lines changed

lib/reline/line_editor.rb

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -589,26 +589,7 @@ def add_dialog_proc(name, p, context = nil)
589589
end
590590
dialog.set_cursor_pos(cursor_column, @first_line_started_from + @started_from)
591591
dialog_render_info = dialog.call
592-
old_dialog = dialog.clone
593-
if dialog_render_info and dialog_render_info.contents and not dialog_render_info.contents.empty?
594-
dialog.width = dialog_render_info.width if dialog_render_info.width
595-
height = dialog_render_info.height || DIALOG_HEIGHT
596-
pointer = dialog_render_info.pointer
597-
dialog.contents = dialog_render_info.contents
598-
if dialog.contents.size > height
599-
if dialog_render_info.pointer
600-
if dialog_render_info.pointer < 0
601-
dialog.scroll_top = 0
602-
elsif (dialog_render_info.pointer - dialog.scroll_top) >= (height - 1)
603-
dialog.scroll_top = dialog_render_info.pointer - (height - 1)
604-
elsif (dialog_render_info.pointer - dialog.scroll_top) < 0
605-
dialog.scroll_top = dialog_render_info.pointer
606-
end
607-
pointer = dialog_render_info.pointer - dialog.scroll_top
608-
end
609-
dialog.contents = dialog.contents[dialog.scroll_top, height]
610-
end
611-
else
592+
if dialog_render_info.nil? or dialog_render_info.contents.nil? or dialog_render_info.contents.empty?
612593
dialog.lines_backup = {
613594
lines: modify_lines(whole_lines),
614595
line_index: @line_index,
@@ -620,6 +601,24 @@ def add_dialog_proc(name, p, context = nil)
620601
dialog.contents = nil
621602
return
622603
end
604+
old_dialog = dialog.clone
605+
dialog.width = dialog_render_info.width if dialog_render_info.width
606+
height = dialog_render_info.height || DIALOG_HEIGHT
607+
pointer = dialog_render_info.pointer
608+
dialog.contents = dialog_render_info.contents
609+
if dialog.contents.size > height
610+
if dialog_render_info.pointer
611+
if dialog_render_info.pointer < 0
612+
dialog.scroll_top = 0
613+
elsif (dialog_render_info.pointer - dialog.scroll_top) >= (height - 1)
614+
dialog.scroll_top = dialog_render_info.pointer - (height - 1)
615+
elsif (dialog_render_info.pointer - dialog.scroll_top) < 0
616+
dialog.scroll_top = dialog_render_info.pointer
617+
end
618+
pointer = dialog_render_info.pointer - dialog.scroll_top
619+
end
620+
dialog.contents = dialog.contents[dialog.scroll_top, height]
621+
end
623622
upper_space = @first_line_started_from - @started_from
624623
lower_space = @highest_in_all - @first_line_started_from - @started_from - 1
625624
dialog.column = dialog_render_info.pos.x

0 commit comments

Comments
 (0)