Use destroyFoldsContainingBufferPosition in more cases

This commit is contained in:
Nathan Sobo
2017-10-25 12:48:20 -06:00
parent 00242541ae
commit 5779111799
4 changed files with 9 additions and 10 deletions

View File

@@ -70,7 +70,7 @@
"service-hub": "^0.7.4",
"sinon": "1.17.4",
"temp": "^0.8.3",
"text-buffer": "13.6.0-0",
"text-buffer": "13.6.0-2",
"typescript-simple": "1.0.0",
"underscore-plus": "^1.6.6",
"winreg": "^1.2.1",

View File

@@ -87,7 +87,7 @@ class Selection extends Model
setBufferRange: (bufferRange, options={}) ->
bufferRange = Range.fromObject(bufferRange)
options.reversed ?= @isReversed()
@editor.destroyFoldsContainingBufferPositions([bufferRange.start, bufferRange.end]) unless options.preserveFolds
@editor.destroyFoldsContainingBufferPositions([bufferRange.start, bufferRange.end], true) unless options.preserveFolds
@modifySelection =>
needsFlash = options.flash
delete options.flash if options.flash?

View File

@@ -1771,7 +1771,7 @@ class TextEditorComponent {
if (target && target.matches('.fold-marker')) {
const bufferPosition = model.bufferPositionForScreenPosition(screenPosition)
model.destroyFoldsIntersectingBufferRange(Range(bufferPosition, bufferPosition))
model.destroyFoldsContainingBufferPositions([bufferPosition], false)
return
}

View File

@@ -2497,7 +2497,7 @@ class TextEditor extends Model
addSelectionForBufferRange: (bufferRange, options={}) ->
bufferRange = Range.fromObject(bufferRange)
unless options.preserveFolds
@displayLayer.destroyFoldsContainingBufferPositions([bufferRange.start, bufferRange.end])
@displayLayer.destroyFoldsContainingBufferPositions([bufferRange.start, bufferRange.end], true)
@selectionsMarkerLayer.markBufferRange(bufferRange, {invalidate: 'never', reversed: options.reversed ? false})
@getLastSelection().autoscroll() unless options.autoscroll is false
@getLastSelection()
@@ -3318,8 +3318,7 @@ class TextEditor extends Model
# Essential: Unfold the most recent cursor's row by one level.
unfoldCurrentRow: ->
{row} = @getCursorBufferPosition()
position = Point(row, Infinity)
@displayLayer.destroyFoldsIntersectingBufferRange(Range(position, position))
@displayLayer.destroyFoldsContainingBufferPositions([Point(row, Infinity)], false)
# Essential: Fold the given row in buffer coordinates based on its indentation
# level.
@@ -3348,7 +3347,7 @@ class TextEditor extends Model
# * `bufferRow` A {Number}
unfoldBufferRow: (bufferRow) ->
position = Point(bufferRow, Infinity)
@displayLayer.destroyFoldsIntersectingBufferRange(Range(position, position))
@displayLayer.destroyFoldsContainingBufferPositions([position])
# Extended: For each selection, fold the rows it intersects.
foldSelectedLines: ->
@@ -3447,9 +3446,9 @@ class TextEditor extends Model
destroyFoldsIntersectingBufferRange: (bufferRange) ->
@displayLayer.destroyFoldsIntersectingBufferRange(bufferRange)
# Remove any {Fold}s found that intersect the given array of buffer positions.
destroyFoldsContainingBufferPositions: (bufferPositions) ->
@displayLayer.destroyFoldsContainingBufferPositions(bufferPositions)
# Remove any {Fold}s found that contain the given array of buffer positions.
destroyFoldsContainingBufferPositions: (bufferPositions, excludeEndpoints) ->
@displayLayer.destroyFoldsContainingBufferPositions(bufferPositions, excludeEndpoints)
###
Section: Gutters