     @updateScrollbarsState() if @shouldUpdateScrollbarsState
     @updateHiddenInputState() if @shouldUpdateHiddenInputState
     @updateContentState() if @shouldUpdateContentState
-    @updateDecorations() if @shouldUpdateDecorations
+    @updateHighlightDecorations() if @shouldUpdateDecorations
     @updateTilesState() if @shouldUpdateTilesState
     @updateCursorsState() if @shouldUpdateCursorsState
     @updateOverlaysState() if @shouldUpdateOverlaysState


    @emitDidUpdateState()

  updateDecorations: ->
    @rangesByDecorationId = {}
    @lineDecorationsByScreenRow = {}
    @lineNumberDecorationsByScreenRow = {}
    @customGutterDecorationsByGutterNameAndScreenRow = {}
    @visibleHighlights = {}

    return unless 0 <= @startRow <= @endRow <= Infinity

    for markerId, decorations of @model.decorationsForScreenRowRange(@startRow, @endRow - 1)
      range = @model.getMarker(markerId).getScreenRange()
      for decoration in decorations
        if decoration.isType('line') or decoration.isType('gutter')
          @addToLineDecorationCaches(decoration, range)
        else if decoration.isType('highlight')
          @updateHighlightState(decoration, range)

    for tileId, tileState of @state.content.tiles
      for id, highlight of tileState.highlights

    @updateCommonGutterState()
    @updateReflowState()

    if @shouldUpdateDecorations
      @fetchDecorations()
      @updateLineDecorations()

    if @shouldUpdateLinesState or @shouldUpdateLineNumbersState
      @updateTilesState()
      @shouldUpdateLinesState = false
      @shouldUpdateLineNumbersState = false
      @shouldUpdateTilesState = true

    @updating = false
