Start on marker interface in DisplayBuffer

This commit is contained in:
Nathan Sobo
2013-01-30 21:04:52 -07:00
parent fd99c795b9
commit 0e67f35748
2 changed files with 20 additions and 0 deletions

View File

@@ -579,3 +579,11 @@ describe "DisplayBuffer", ->
describe ".maxLineLength()", ->
it "returns the length of the longest screen line", ->
expect(displayBuffer.maxLineLength()).toBe 65
describe "markers", ->
it "allows markers to be worked with in terms of both screen and buffer coordinates", ->
displayBuffer.foldBufferRow(4)
marker1 = displayBuffer.markScreenRange([[5, 4], [5, 10]])
marker2 = displayBuffer.markBufferRange([[8, 4], [8, 10]])
expect(displayBuffer.getMarkerBufferRange(marker1)).toEqual [[8, 4], [8, 10]]
expect(displayBuffer.getMarkerScreenRange(marker2)).toEqual [[5, 4], [5, 10]]

View File

@@ -290,6 +290,18 @@ class DisplayBuffer
rangeForAllLines: ->
new Range([0, 0], @clipScreenPosition([Infinity, Infinity]))
markScreenRange: (screenRange) ->
@markBufferRange(@bufferRangeForScreenRange(screenRange))
markBufferRange: (bufferRange) ->
@buffer.markRange(bufferRange)
getMarkerScreenRange: (id) ->
@screenRangeForBufferRange(@getMarkerBufferRange(id))
getMarkerBufferRange: (id) ->
@buffer.getMarkerRange(id)
destroy: ->
@tokenizedBuffer.destroy()