class TextEditor::Command::Backspace
Public Instance Methods
run(*)
click to toggle source
# File lib/text_editor/command/backspace.rb 4 def run(*) 5 if column.zero? && line.nonzero? 6 content = buffer.line(line.pred) 7 new_column = content.size 8 content << buffer.line(line) 9 10 new_buffer = buffer.replace_line(line.pred, content) 11 new_buffer = new_buffer.delete_line(line) 12 13 new_cursor = cursor.move(line.pred, new_column) 14 elsif column.nonzero? 15 new_buffer = buffer.delete_char(line, column.pred) 16 new_cursor = cursor.left 17 else 18 new_buffer = buffer 19 new_cursor = cursor 20 end 21 22 window.update(new_buffer, new_cursor) 23 end