meta-v inserts text at cursor position

This commit is contained in:
Corey Johnson
2012-02-01 18:00:47 -08:00
parent 27ee0792a4
commit 86d23c775d
2 changed files with 16 additions and 3 deletions

View File

@@ -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'

View File

@@ -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()