From 86d23c775d4ce3b62e9e185719287fa4773458ca Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Wed, 1 Feb 2012 18:00:47 -0800 Subject: [PATCH] meta-v inserts text at cursor position --- spec/atom/editor-spec.coffee | 14 ++++++++++++-- src/atom/editor.coffee | 5 ++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/spec/atom/editor-spec.coffee b/spec/atom/editor-spec.coffee index ab9d8de84..264275e6f 100644 --- a/spec/atom/editor-spec.coffee +++ b/spec/atom/editor-spec.coffee @@ -512,13 +512,23 @@ describe "Editor", -> expect(editor.clipPosition(row: 1, column: -5)).toEqual(row: 1, column: 0) describe "cut, copy & paste", -> - describe "when a copy event is triggered", -> + describe "when a past event is triggered", -> beforeEach -> - editor.getSelection().setRange new Range([0,4], [0, 13]) atom.native.writeToPasteboard('first') expect(atom.native.readFromPasteboard()).toBe 'first' + it "pastes text into the buffer", -> + editor.setCursorPosition [0, 4] + editor.trigger "paste" + expect(editor.buffer.getLine(0)).toBe "var firstquicksort = function () {" + + editor.getSelection().setRange new Range([1,6], [1,10]) + editor.trigger "paste" + expect(editor.buffer.getLine(0)).toBe "var firstquicksort = function () {" + + describe "when a copy event is triggered", -> it "copies selected text onto the clipboard", -> + editor.getSelection().setRange new Range([0,4], [0, 13]) editor.trigger "copy" expect(atom.native.readFromPasteboard()).toBe 'quicksort' diff --git a/src/atom/editor.coffee b/src/atom/editor.coffee index 9006f4555..43b282520 100644 --- a/src/atom/editor.coffee +++ b/src/atom/editor.coffee @@ -45,6 +45,7 @@ class Editor extends Template backspace: 'delete-left' delete: 'delete-right' 'meta-c': 'copy' + 'meta-v': 'paste' @on 'move-right', => @moveCursorRight() @on 'move-left', => @moveCursorLeft() @@ -58,7 +59,7 @@ class Editor extends Template @on 'delete-left', => @deleteLeft() @on 'delete-right', => @deleteRight() @on 'copy', => @copySelection() - + @on 'paste', => @paste() buildCursorAndSelection: -> @cursor = Cursor.build(this) @@ -199,7 +200,9 @@ class Editor extends Template insertText: (text) -> @selection.insertText(text) insertNewline: -> @selection.insertNewline() + copySelection: -> @selection.copy() + paste: -> @selection.insertText(atom.native.readFromPasteboard()) deleteLeft: -> @selectLeft() if @selection.isEmpty()