     return 0 unless lineHeight > 0
 
     scrollHeight = @getLineCount() * lineHeight
-    if @height? and atom.config.get(@getRootScopeDescriptor(), 'editor.scrollPastEnd')
+    if @height? and @configSettings.scrollPastEnd
       scrollHeight = scrollHeight + @height - (lineHeight * 3)
 
     scrollHeight

      @editorWidthInChars

  getSoftWrapColumn: ->
    if atom.config.get(@getRootScopeDescriptor(), 'editor.softWrapAtPreferredLineLength')
      Math.min(@getEditorWidthInChars(), atom.config.get(@getRootScopeDescriptor(), 'editor.preferredLineLength'))
    else
      @getEditorWidthInChars()


    @foldsByMarkerId = {}
    @decorationsById = {}
    @decorationsByMarkerId = {}
    @subscribe @tokenizedBuffer.observeGrammar @subscribeToScopedConfigSettings
    @subscribe @tokenizedBuffer.onDidChange @handleTokenizedBufferChange
    @subscribe @buffer.onDidUpdateMarkers @handleBufferMarkersUpdated
    @subscribe @buffer.onDidCreateMarker @handleBufferMarkerCreated
    @updateAllScreenLines()
    @createFoldForMarker(marker) for marker in @buffer.findMarkers(@getFoldMarkerAttributes())

  subscribeToScopedConfigSettings: =>
    @scopedConfigSubscriptions?.dispose()
