aboutsummaryrefslogtreecommitdiff
path: root/atom/packages/vim-mode/lib/view-models/view-model.coffee
diff options
context:
space:
mode:
authorBen Beltran <ben@nsovocal.com>2015-07-10 11:12:25 -0500
committerBen Beltran <ben@nsovocal.com>2015-07-10 11:12:25 -0500
commit24c7594d62d8d7fbbcdb64b11ce4adc5d8e6991a (patch)
treeded312222bb108923da1820ba40b04d710d20e5b /atom/packages/vim-mode/lib/view-models/view-model.coffee
parenteb786e82d170e2abc351a432ade616d6ecdeeb6b (diff)
Adds atom
Diffstat (limited to 'atom/packages/vim-mode/lib/view-models/view-model.coffee')
-rw-r--r--atom/packages/vim-mode/lib/view-models/view-model.coffee24
1 files changed, 24 insertions, 0 deletions
diff --git a/atom/packages/vim-mode/lib/view-models/view-model.coffee b/atom/packages/vim-mode/lib/view-models/view-model.coffee
new file mode 100644
index 0000000..9cc63e1
--- /dev/null
+++ b/atom/packages/vim-mode/lib/view-models/view-model.coffee
@@ -0,0 +1,24 @@
+VimCommandModeInputElement = require './vim-command-mode-input-element'
+
+class ViewModel
+ constructor: (@operation, opts={}) ->
+ {@editor, @vimState} = @operation
+ @view = new VimCommandModeInputElement().initialize(this, opts)
+ @editor.commandModeInputView = @view
+ @vimState.onDidFailToCompose => @view.remove()
+
+ confirm: (view) ->
+ @vimState.pushOperations(new Input(@view.value))
+
+ cancel: (view) ->
+ if @vimState.isOperatorPending()
+ @vimState.pushOperations(new Input(''))
+
+class Input
+ constructor: (@characters) ->
+ isComplete: -> true
+ isRecordable: -> true
+
+module.exports = {
+ ViewModel, Input
+}