       when 'screen-lines-changed'
         deprecate("Use Editor::onDidChangeScreenLines instead")
 
+      when 'scroll-top-changed'
+        deprecate("Use Editor::onDidChangeScrollTop instead")
+      when 'scroll-left-changed'
+        deprecate("Use Editor::onDidChangeScrollLeft instead")
+
     EmitterMixin::on.apply(this, arguments)
 
   # Retrieves the current {TextBuffer}.


    @languageMode = new LanguageMode(this)

    @subscribe @$scrollTop, (scrollTop) => @emit 'scroll-top-changed', scrollTop
    @subscribe @$scrollLeft, (scrollLeft) => @emit 'scroll-left-changed', scrollLeft

    @subscribe atom.config.observe 'editor.showInvisibles', callNow: false, (show) => @updateInvisibles()
    @subscribe atom.config.observe 'editor.invisibles', callNow: false, => @updateInvisibles()


  onDidChangeScreenLines: (callback) ->
    @emitter.on 'did-change-screen-lines', callback

  onDidChangeScrollTop: (callback) ->
    @emitter.on 'did-change-scroll-top', callback

  onDidChangeScrollLeft: (callback) ->
    @emitter.on 'did-change-scroll-left', callback

  on: (eventName) ->
    switch eventName
