Emit 'marker-added/removed' events on DisplayBuffer

This commit is contained in:
Nathan Sobo
2013-04-29 17:03:43 -06:00
parent 78bb074c0d
commit b2d34d93ab
2 changed files with 26 additions and 2 deletions

View File

@@ -33,6 +33,12 @@ class DisplayBuffer
@tokenizedBuffer.on 'grammar-changed', (grammar) => @trigger 'grammar-changed', grammar
@tokenizedBuffer.on 'changed', @handleTokenizedBufferChange
@buffer.on 'markers-updated', @handleMarkersUpdated
@buffer.on 'marker-added', (marker) =>
@trigger 'marker-added', @getMarker(marker.id)
@buffer.on 'marker-removed', (marker) =>
marker = @getMarker(marker.id)
delete @markers[marker.id]
@trigger 'marker-removed', marker
buildLineMap: ->
@lineMap = new LineMap
@@ -468,7 +474,7 @@ class DisplayBuffer
#
# Returns the {DisplayBufferMarker} (if it exists).
getMarker: (id) ->
@markers[id] ? do =>
@markers[id] ?= do =>
if bufferMarker = @buffer.getMarker(id)
new DisplayBufferMarker({bufferMarker, displayBuffer: this})
@@ -548,7 +554,6 @@ class DisplayBuffer
###
# Internal #
###
pauseMarkerObservers: ->
marker.pauseEvents() for marker in @getMarkers()