aboutsummaryrefslogtreecommitdiff
path: root/atom/packages/vim-mode/lib/insert-mode.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'atom/packages/vim-mode/lib/insert-mode.coffee')
-rw-r--r--atom/packages/vim-mode/lib/insert-mode.coffee19
1 files changed, 19 insertions, 0 deletions
diff --git a/atom/packages/vim-mode/lib/insert-mode.coffee b/atom/packages/vim-mode/lib/insert-mode.coffee
new file mode 100644
index 0000000..d600e7e
--- /dev/null
+++ b/atom/packages/vim-mode/lib/insert-mode.coffee
@@ -0,0 +1,19 @@
+copyCharacterFromAbove = (editor, vimState) ->
+ editor.transact ->
+ for cursor in editor.getCursors()
+ {row, column} = cursor.getScreenPosition()
+ continue if row is 0
+ range = [[row-1, column], [row-1, column+1]]
+ cursor.selection.insertText(editor.getTextInBufferRange(editor.bufferRangeForScreenRange(range)))
+
+copyCharacterFromBelow = (editor, vimState) ->
+ editor.transact ->
+ for cursor in editor.getCursors()
+ {row, column} = cursor.getScreenPosition()
+ range = [[row+1, column], [row+1, column+1]]
+ cursor.selection.insertText(editor.getTextInBufferRange(editor.bufferRangeForScreenRange(range)))
+
+module.exports = {
+ copyCharacterFromAbove,
+ copyCharacterFromBelow
+}