diff --git a/package.json b/package.json index 56f8bf7c5..3c10667d3 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "space-pen": "3.8.2", "stacktrace-parser": "0.1.1", "temp": "0.8.1", - "text-buffer": "^5.2", + "text-buffer": "6.0.0-beta.1", "theorist": "^1.0.2", "typescript-simple": "1.0.0", "underscore-plus": "^1.6.6" diff --git a/spec/text-editor-component-spec.coffee b/spec/text-editor-component-spec.coffee index a89bee1fc..12d189035 100644 --- a/spec/text-editor-component-spec.coffee +++ b/spec/text-editor-component-spec.coffee @@ -2266,13 +2266,13 @@ describe "TextEditorComponent", -> editor.setText("") componentNode.dispatchEvent(buildTextInputEvent(data: 'x', target: inputNode)) - currentTime += 99 + currentTime += 100 componentNode.dispatchEvent(buildTextInputEvent(data: 'y', target: inputNode)) - currentTime += 99 + currentTime += 100 componentNode.dispatchEvent(new CustomEvent('editor:duplicate-lines', bubbles: true, cancelable: true)) - currentTime += 100 + currentTime += 101 componentNode.dispatchEvent(new CustomEvent('editor:duplicate-lines', bubbles: true, cancelable: true)) expect(editor.getText()).toBe "xy\nxy\nxy" diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index f4c078b17..bca978cac 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -39,7 +39,6 @@ class DisplayBuffer extends Model @decorationsByMarkerId = {} @disposables.add @tokenizedBuffer.observeGrammar @subscribeToScopedConfigSettings @disposables.add @tokenizedBuffer.onDidChange @handleTokenizedBufferChange - @disposables.add @buffer.onDidUpdateMarkers @handleBufferMarkersUpdated @disposables.add @buffer.onDidCreateMarker @handleBufferMarkerCreated @updateAllScreenLines() @createFoldForMarker(marker) for marker in @buffer.findMarkers(@getFoldMarkerAttributes()) @@ -153,12 +152,12 @@ class DisplayBuffer extends Model @emitter.on 'did-update-markers', callback emitDidChange: (eventProperties, refreshMarkers=true) -> - if refreshMarkers - @pauseMarkerChangeEvents() - @refreshMarkerScreenPositions() @emit 'changed', eventProperties if Grim.includeDeprecatedAPIs @emitter.emit 'did-change', eventProperties - @resumeMarkerChangeEvents() + if refreshMarkers + @refreshMarkerScreenPositions() + @emit 'markers-updated' if Grim.includeDeprecatedAPIs + @emitter.emit 'did-update-markers' updateWrappedScreenLines: -> start = 0 @@ -1078,15 +1077,6 @@ class DisplayBuffer extends Model getFoldMarkerAttributes: (attributes={}) -> _.extend(attributes, class: 'fold', displayBufferId: @id) - pauseMarkerChangeEvents: -> - marker.pauseChangeEvents() for marker in @getMarkers() - return - - resumeMarkerChangeEvents: -> - marker.resumeChangeEvents() for marker in @getMarkers() - @emit 'markers-updated' if Grim.includeDeprecatedAPIs - @emitter.emit 'did-update-markers' - refreshMarkerScreenPositions: -> for marker in @getMarkers() marker.notifyObservers(textChanged: false) @@ -1109,7 +1099,7 @@ class DisplayBuffer extends Model handleTokenizedBufferChange: (tokenizedBufferChange) => {start, end, delta, bufferChange} = tokenizedBufferChange - @updateScreenLines(start, end + 1, delta, delayChangeEvent: bufferChange?) + @updateScreenLines(start, end + 1, delta, refreshMarkers: false) @setScrollTop(Math.min(@getScrollTop(), @getMaxScrollTop())) if delta < 0 updateScreenLines: (startBufferRow, endBufferRow, bufferDelta=0, options={}) -> @@ -1132,11 +1122,7 @@ class DisplayBuffer extends Model screenDelta: screenDelta bufferDelta: bufferDelta - if options.delayChangeEvent - @pauseMarkerChangeEvents() - @pendingChangeEvent = changeEvent - else - @emitDidChange(changeEvent, options.refreshMarkers) + @emitDidChange(changeEvent, options.refreshMarkers) buildScreenLines: (startBufferRow, endBufferRow) -> screenLines = [] @@ -1216,11 +1202,6 @@ class DisplayBuffer extends Model @scrollWidth += 1 unless @isSoftWrapped() @setScrollLeft(Math.min(@getScrollLeft(), @getMaxScrollLeft())) - handleBufferMarkersUpdated: => - if event = @pendingChangeEvent - @pendingChangeEvent = null - @emitDidChange(event, false) - handleBufferMarkerCreated: (textBufferMarker) => @createFoldForMarker(textBufferMarker) if textBufferMarker.matchesParams(@getFoldMarkerAttributes()) if marker = @getMarker(textBufferMarker.id) diff --git a/src/marker.coffee b/src/marker.coffee index 5d1e35570..813ca78e5 100644 --- a/src/marker.coffee +++ b/src/marker.coffee @@ -359,18 +359,6 @@ class Marker @oldTailScreenPosition = newTailScreenPosition @wasValid = isValid - pauseChangeEvents: -> - @deferredChangeEvents = [] - - resumeChangeEvents: -> - if deferredChangeEvents = @deferredChangeEvents - @deferredChangeEvents = null - - for event in deferredChangeEvents - @emit 'changed', event if Grim.includeDeprecatedAPIs - @emitter.emit 'did-change', event - return - getPixelRange: -> @displayBuffer.pixelRangeForScreenRange(@getScreenRange(), false)