       @updateDecorations()
       @updateLinesState()
       @updateCursorsState()
-      @updateHighlightsState()
       @updateLineNumbersState()
       @updateOverlaysState()
 

      for decoration in decorations
        if decoration.isType('line') or decoration.isType('line-number')
          @updateLineDecorationCaches(decoration, range)

  updateLineDecorationCaches: (decoration, range) ->
    marker = decoration.getMarker()

        @lineNumberDecorationsByScreenRow[row] ?= {}
        @lineNumberDecorationsByScreenRow[row][decoration.id] = decoration

  updateHighlightState: (decoration, range) ->
    return unless @hasRequiredMeasurements()

    properties = decoration.getProperties()
    range = range.copy()
    startRow = @computeStartRow()
    endRow = @computeEndRow()

    if range.start.row < startRow
      range.start.row = startRow
      range.start.column = 0
    if range.end.row >= endRow
      range.end.row = endRow
      range.end.column = 0

    return if range.isEmpty()

    highlightState = @state.content.highlights[decoration.id] ?= {
      flashCount: 0
      flashDuration: null
      flashClass: null
    }
    highlightState.class = properties.class
    highlightState.deprecatedRegionClass = properties.deprecatedRegionClass
    highlightState.regions = @buildHighlightRegions(range)

  observeCursor: (cursor) ->
    didChangePositionDisposable = cursor.onDidChangePosition =>
      @pauseCursorBlinking()
