From d78dfd86bfcb8e6b08e37d09213eb7be5ff26f48 Mon Sep 17 00:00:00 2001 From: Jess Lin Date: Wed, 1 Apr 2015 15:00:44 -0700 Subject: [PATCH] [Gutter][refactor] Simplify TextEditorPresenter::updateCustomGutterDecorationState --- src/text-editor-presenter.coffee | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/text-editor-presenter.coffee b/src/text-editor-presenter.coffee index 3c9264c58..7e3d5319e 100644 --- a/src/text-editor-presenter.coffee +++ b/src/text-editor-presenter.coffee @@ -424,21 +424,20 @@ class TextEditorPresenter # class (optional): {String} class # } # } - updateCustomGutterDecorationState: () -> + updateCustomGutterDecorationState: -> @batch 'shouldUpdateCustomGutterDecorationState', => return unless @startRow? and @endRow? and @lineHeight? + @state.gutters.customDecorations = {} for gutter in @model.getGutters() gutterName = gutter.name - @state.gutters.customDecorations[gutterName] ?= {} + @state.gutters.customDecorations[gutterName] = {} gutterState = @state.gutters.customDecorations[gutterName] - visibleDecorationIds = {} relevantDecorations = @customGutterDecorationsInRange(gutterName, @startRow, @endRow - 1) return if !relevantDecorations relevantDecorations.forEach (decoration) => - visibleDecorationIds[decoration.id] = true decorationRange = decoration.getMarker().getScreenRange() gutterState[decoration.id] = top: @lineHeight * decorationRange.start.row @@ -446,9 +445,6 @@ class TextEditorPresenter item: decoration.getProperties().item class: decoration.getProperties().class - for decorationId of gutterState - delete gutterState[decorationId] unless visibleDecorationIds[decorationId] - updateLineNumbersState: -> @batch "shouldUpdateLineNumbersState", -> return unless @startRow? and @endRow? and @lineHeight?