         'searchForward'
         'shrinkSearchTerm'
         'extendSearchTermSpace'
-
       ]
 
       @prepareEditor()

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

    { shortcuts } = kd.singletons

    bindKey = {}
    bindKey[globals.keymapType] = obj.binding[0]
      .split '+'
      .map (frag) ->
        return "#{frag.charAt(0).toUpperCase()}#{frag.slice(1)}"
      .join '-'

    name    : obj.name
    exec    : exec
    bindKey : bindKey


  constructor: (options, file) ->


      element.classList.remove 'ace-tm' # remove default white theme to avoid flashing

      if contents
        @setContents contents
        @lastSavedContents = contents

      @editor.on 'change', =>
        @emit 'FileContentChanged'   unless @suppressListeners
        @emit 'FileContentRestored'  unless @isCurrentContentChanged()

      @editor.gotoLine 0

      @editor.commands.removeCommands [
        'sortlines' # XXX
        'showSettingsMenu'
        'findprevious'
        'findnext'
        'findAll'
        'toggleFoldWidget'
        'toggleParentFoldWidget'
        'passKeysToBrowser'
        'jumptomatching'
        'selecttomatching'
        'expandToMatching'
        'iSearch'
        'iSearchAndGo'
        'iSearchBackwardsAndGo'
        'recenterTopBottom'
        'selectAllMatches'
        'searchAsRegExp'
