Class: Redwood::LineCursorMode
- Inherits:
-
ScrollMode
- Object
- Mode
- ScrollMode
- Redwood::LineCursorMode
- Defined in:
- lib/sup/modes/line_cursor_mode.rb
Overview
extends ScrollMode to have a line-based cursor.
Direct Known Subclasses
BufferListMode, ContactListMode, EditMessageAsyncMode, EditMessageMode, FileBrowserMode, LabelListMode, SearchListMode, ThreadIndexMode, ThreadViewMode
Instance Attribute Summary collapse
-
#curpos ⇒ Object
readonly
Returns the value of attribute curpos.
Attributes inherited from ScrollMode
#botline, #leftcol, #status, #topline
Attributes inherited from Mode
Instance Method Summary collapse
- #cleanup ⇒ Object
- #draw ⇒ Object
-
#initialize(opts = {}) ⇒ LineCursorMode
constructor
A new instance of LineCursorMode.
Methods inherited from ScrollMode
#at_bottom?, #at_top?, #cancel_search!, #col_jump, #col_left, #col_right, #continue_search_in_buffer, #half_page_down, #half_page_up, #in_search?, #jump_to_col, #jump_to_left, #jump_to_line, #resize, #rightcol, #search_goto_pos, #search_in_buffer
Methods inherited from Mode
#blur, #cancel_search!, #focus, #handle_input, #help_text, #in_search?, keymap, keymaps, #killable?, load_all_modes, make_name, #name, #pipe_to_process, register_keymap, #resize, #resolve_input, #save_to_file, #status, #unsaved?
Constructor Details
#initialize(opts = {}) ⇒ LineCursorMode
Returns a new instance of LineCursorMode.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/sup/modes/line_cursor_mode.rb', line 15 def initialize opts={} @cursor_top = @curpos = opts.delete(:skip_top_rows) || 0 @load_more_callbacks = [] @load_more_q = Queue.new @load_more_thread = ::Thread.new do while true e = @load_more_q.pop @load_more_callbacks.each { |c| c.call e } sleep 0.5 @load_more_q.pop until @load_more_q.empty? end end super opts end |
Instance Attribute Details
#curpos ⇒ Object (readonly)
Returns the value of attribute curpos.
13 14 15 |
# File 'lib/sup/modes/line_cursor_mode.rb', line 13 def curpos @curpos end |