           @lastBackspace = nowDate
           @ace.remove "left"
 
-
   hookACECustomBehavior: ->
     aceConfig = me.get('aceConfig') ? {}
     @ace.commands.on 'exec', (e) =>

    isCast = isCast or not _.isEmpty(aether.metrics) or _.some aether.getAllProblems(), {type: 'runtime'}
    annotations = @aceSession.getAnnotations()

    newProblems = @convertAetherProblems(aether, aether.getAllProblems(), isCast)
    annotations.push problem.annotation for problem in newProblems when problem.annotation
    if isCast

    return if @destroyed
    lineCount = @aceDoc.getLength()
    lastLine = @aceDoc.$lines[lineCount - 1]
    cursorPosition = @ace.getCursorPosition()
    if /\S/.test lastLine
      wasAtEnd = cursorPosition.row is lineCount - 1 and cursorPosition.column is lastLine.length
      @aceDoc.insertNewLine row: lineCount, column: 0  #lastLine.length
      @ace.navigateLeft(1) if wasAtEnd
      ++lineCount
      # Force the popup back
      @ace?.completer?.showPopup(@ace)
    # Ensure current user code line visible and not truncated at bottom of editor
    if cursorPosition.row >= lineCount - 2
      @ace.scrollToLine lineCount, true, true
    if @firstEntryToScrollLine? and @ace?.renderer?.$cursorLayer?.config
      @ace.scrollToLine @firstEntryToScrollLine, true, true
      @firstEntryToScrollLine = undefined

  hideProblemAlert: ->
    return if @destroyed
