Add App.bindKey

This commit is contained in:
Corey Johnson & Nathan Sobo
2012-01-13 12:06:52 -08:00
parent 9ea7663256
commit fd48c67bfa
4 changed files with 60 additions and 41 deletions

View File

@@ -15,6 +15,9 @@ class App
bindKeys: (selector, bindings) ->
@globalKeymap.bindKeys(selector, bindings)
bindKey: (selector, pattern, eventName) ->
@globalKeymap.bindKey(selector, pattern, eventName)
open: (url) ->
OSX.NSApp.open url

View File

@@ -12,6 +12,11 @@ class GlobalKeymap
bindKeys: (selector, bindings) ->
@bindingSets.unshift(new BindingSet(selector, bindings))
bindKey: (selector, pattern, eventName) ->
bindings = {}
bindings[pattern] = eventName
@bindKeys(selector, bindings)
handleKeyEvent: (event) ->
currentNode = $(event.target)
while currentNode.length

View File

@@ -29,10 +29,8 @@ class VimMode
@registerCommand i, "numeric-prefix-#{i}", => new op.NumericPrefix(i)
registerCommand: (binding, commandName, fn)->
bindings = {}
eventName = "command-mode:#{commandName}"
bindings[binding] = eventName
atom.bindKeys '.command-mode', bindings
atom.bindKey '.command-mode', binding, eventName
@editor.on eventName, =>
possibleOperator = fn()
@pushOperator(possibleOperator) if possibleOperator.execute?