Module: ViEditable
- Includes:
- ListEditable
- Defined in:
- lib/rbcurse/vieditable.rb
Instance Method Summary collapse
-
#edit_chars ⇒ Object
return str if ret == 0 return “”.
-
#edit_line(lineno = @current_index) ⇒ Object
edit current or given line.
-
#edit_string(string, prompt = "Edit: ", maxlen = 80) ⇒ 0, -1
common method to edit given string.
- #edit_word ⇒ Object
-
#input_string(prompt = "Insert: ", maxlen = 80) ⇒ 0, -1
common method to input a blank string.
-
#insert_line(lineno = @current_index) ⇒ Object
insert a line.
-
#vieditable_init ⇒ Object
def ViEditable.vieditable_init.
Methods included from ListEditable
#add_to_kill_ring, #append_next_kill, #append_row, #delete_at, #delete_curr_char, #delete_eol, #delete_forward, #delete_line, #delete_prev_char, #delete_word, #join_next_line, #kill_ring_save, #remove_all, #undo_handler, #yank, #yank_pop
Instance Method Details
#edit_chars ⇒ Object
return str if ret == 0 return “”
94 95 96 |
# File 'lib/rbcurse/vieditable.rb', line 94 def edit_chars end |
#edit_line(lineno = @current_index) ⇒ Object
edit current or given line
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/rbcurse/vieditable.rb', line 43 def edit_line lineno=@current_index line = @list[lineno] prompt = "Edit: " maxlen = 80 config={}; config[:default] = line ret, str = rbgetstr(@form.window, $error_message_row, $error_message_col, prompt, maxlen, config) $log.debug " rbgetstr returned #{ret} , #{str} " return if ret != 0 @list[lineno].replace(str) @repaint_required = true end |
#edit_string(string, prompt = "Edit: ", maxlen = 80) ⇒ 0, -1
common method to edit given string
77 78 79 80 81 82 83 |
# File 'lib/rbcurse/vieditable.rb', line 77 def edit_string string, prompt="Edit: ", maxlen=80 config={}; config[:default] = string ret, str = rbgetstr(@form.window, $error_message_row, $error_message_col, prompt, maxlen, config) #return str if ret == 0 #return "" end |
#edit_word ⇒ Object
97 98 99 |
# File 'lib/rbcurse/vieditable.rb', line 97 def edit_word end |
#input_string(prompt = "Insert: ", maxlen = 80) ⇒ 0, -1
common method to input a blank string
89 90 91 92 93 |
# File 'lib/rbcurse/vieditable.rb', line 89 def input_string prompt="Insert: ", maxlen=80 ret, str = rbgetstr(@form.window, $error_message_row, $error_message_col, prompt, maxlen, config) #return str if ret == 0 #return "" end |
#insert_line(lineno = @current_index) ⇒ Object
insert a line
57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/rbcurse/vieditable.rb', line 57 def insert_line lineno=@current_index prompt = "Insert: " maxlen = 80 #config={}; #config[:default] = line #ret, str = rbgetstr(@form.window, $error_message_row, $error_message_col, prompt, maxlen, config) ret, str = input_string prompt #ret, str = rbgetstr(@form.window, @row+@height-1, @col+1, prompt, maxlen, config) $log.debug " rbgetstr returned #{ret} , #{str} " return if ret != 0 @list.insert lineno, str @repaint_required = true end |
#vieditable_init ⇒ Object
def ViEditable.vieditable_init
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/rbcurse/vieditable.rb', line 16 def vieditable_init $log.debug " inside vieditable_init " @editable = true bind_key( ?C, :edit_line) bind_key( ?o, :insert_line) bind_key( ?O) { insert_line(@current_index-1) } bind_key( ?D, :delete_eol) bind_key( [?d, ?$], :delete_eol) bind_key( [?d, ?d] , :delete_line ) bind_key( [?d, ?w], :delete_word ) bind_key( [?d, ?t], :delete_till ) bind_key( [?d, ?f], :delete_forward ) bind_key( ?\C-_ ) { @undo_handler.undo if @undo_handler } bind_key( ?u ) { @undo_handler.undo if @undo_handler } bind_key( ?\C-r ) { @undo_handler.redo if @undo_handler } bind_key( ?x, :delete_curr_char ) bind_key( ?X, :delete_prev_char ) bind_key( [?y, ?y] , :kill_ring_save ) bind_key( ?p, :yank ) # paste after this line bind_key( ?P ) { yank(@current_index - 1) } # should be before this line bind_key(?\w, :forward_word) bind_key(?f, :forward_char) end |