Honor preserveFolds option when creating a new selection

This commit is contained in:
Nathan Sobo
2013-07-19 16:31:28 -07:00
parent 7f5d71dada
commit 75cf1acce1
2 changed files with 5 additions and 3 deletions

View File

@@ -755,8 +755,10 @@ describe "EditSession", ->
it "does not remove folds that contain the selections", ->
editSession.setSelectedBufferRange([[0,0], [0,0]])
editSession.createFold(1, 4)
editSession.setSelectedBufferRanges([[[2, 2], [3, 3]]], preserveFolds: true)
expect(editSession.lineForScreenRow(1).fold).toBeDefined()
editSession.createFold(6, 8)
editSession.setSelectedBufferRanges([[[2, 2], [3, 3]], [[6, 0], [6, 1]]], preserveFolds: true)
expect(editSession.isFoldedAtBufferRow(1)).toBeTruthy()
expect(editSession.isFoldedAtBufferRow(6)).toBeTruthy()
describe ".selectMarker(marker)", ->
describe "if the marker is valid", ->

View File

@@ -875,7 +875,7 @@ class EditSession
#
# Returns the new {Selection}.
addSelection: (marker, options={}) ->
unless options.preserveFolds
unless marker.getAttributes().preserveFolds
@destroyFoldsIntersectingBufferRange(marker.getBufferRange())
cursor = @addCursor(marker)
selection = new Selection(_.extend({editSession: this, marker, cursor}, options))