               else
                 @emit.bind this, 'FindAndReplaceViewRequested', replace
 
-        return  unless cb
-
-        @editor.commands.addCommand toCommand(model, cb)
+        exec or= @editor.commands.commands[model.name].exec
+        @editor.commands.addCommand toCommand(model, exec)
 
 
   setEditorListeners: ->

    #
    # see: https://github.com/ajaxorg/ace/blob/v1.1.4/lib/ace/commands/default_commands.js

    name    : obj.name
    exec    : exec
    bindKey : toBindKey obj.binding[0] # binds only first shortcut


  constructor: (options, file) ->

      .join '-'


  toCommand = (model, exec) ->

    # given a keyconfig model json and a callback, converts it to
    # conform to the ace command spec.
