mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
parent
c0349765e9
commit
02a61fe33f
3 changed files with 28 additions and 0 deletions
|
@ -274,6 +274,22 @@ class Reline::ANSI
|
|||
end
|
||||
end
|
||||
|
||||
def self.hide_cursor
|
||||
if Reline::Terminfo.enabled?
|
||||
@@output.write Reline::Terminfo.tigetstr('civis')
|
||||
else
|
||||
# ignored
|
||||
end
|
||||
end
|
||||
|
||||
def self.show_cursor
|
||||
if Reline::Terminfo.enabled?
|
||||
@@output.write Reline::Terminfo.tigetstr('cnorm')
|
||||
else
|
||||
# ignored
|
||||
end
|
||||
end
|
||||
|
||||
def self.erase_after_cursor
|
||||
@@output.write "\e[K"
|
||||
end
|
||||
|
|
|
@ -562,6 +562,7 @@ class Reline::LineEditor
|
|||
@dialog_updown = :down
|
||||
@dialog_vertical_offset = 1
|
||||
end
|
||||
Reline::IOGate.hide_cursor
|
||||
reset_dialog(old_dialog_contents, old_dialog_contents_width, old_dialog_column, old_dialog_vertical_offset, old_dialog_updown)
|
||||
case @dialog_updown
|
||||
when :down
|
||||
|
@ -581,6 +582,7 @@ class Reline::LineEditor
|
|||
move_cursor_up(@dialog_contents.size)
|
||||
when :up
|
||||
end
|
||||
Reline::IOGate.show_cursor
|
||||
@dialog_lines_backup = {
|
||||
lines: modify_lines(whole_lines),
|
||||
line_index: @line_index,
|
||||
|
@ -683,6 +685,7 @@ class Reline::LineEditor
|
|||
visual_lines.concat(vl)
|
||||
}
|
||||
visual_lines_under_dialog = visual_lines[visual_start, @dialog_contents.size]
|
||||
Reline::IOGate.hide_cursor
|
||||
move_cursor_down(@dialog_vertical_offset)
|
||||
dialog_vertical_size = @dialog_contents.size
|
||||
dialog_vertical_size.times do |i|
|
||||
|
@ -698,6 +701,7 @@ class Reline::LineEditor
|
|||
end
|
||||
move_cursor_up(dialog_vertical_size - 1 + @dialog_vertical_offset)
|
||||
Reline::IOGate.move_cursor_column(prompt_width + @cursor)
|
||||
Reline::IOGate.show_cursor
|
||||
end
|
||||
|
||||
private def calculate_scroll_partial_screen(highest_in_all, cursor_y)
|
||||
|
|
|
@ -343,6 +343,14 @@ class Reline::Windows
|
|||
raise NotImplementedError
|
||||
end
|
||||
|
||||
def self.hide_cursor
|
||||
# ignored
|
||||
end
|
||||
|
||||
def self.show_cursor
|
||||
# ignored
|
||||
end
|
||||
|
||||
def self.set_winch_handler(&handler)
|
||||
@@winch_handler = handler
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue