mirror of
https://github.com/atom/atom.git
synced 2026-04-06 03:02:13 -04:00
Merge branch 'master' into mb-one-will-change-event-per-tx
This commit is contained in:
@@ -70,7 +70,7 @@
|
||||
"service-hub": "^0.7.4",
|
||||
"sinon": "1.17.4",
|
||||
"temp": "^0.8.3",
|
||||
"text-buffer": "13.6.0-will-change-event-2",
|
||||
"text-buffer": "13.6.1",
|
||||
"typescript-simple": "1.0.0",
|
||||
"underscore-plus": "^1.6.6",
|
||||
"winreg": "^1.2.1",
|
||||
|
||||
@@ -1871,7 +1871,7 @@ describe "TextEditor", ->
|
||||
expect(selection1.getBufferRange()).toEqual [[2, 2], [3, 3]]
|
||||
|
||||
describe "when the 'preserveFolds' option is false (the default)", ->
|
||||
it "removes folds that contain the selections", ->
|
||||
it "removes folds that contain one or both of the selection's end points", ->
|
||||
editor.setSelectedBufferRange([[0, 0], [0, 0]])
|
||||
editor.foldBufferRowRange(1, 4)
|
||||
editor.foldBufferRowRange(2, 3)
|
||||
@@ -1884,6 +1884,9 @@ describe "TextEditor", ->
|
||||
expect(editor.isFoldedAtScreenRow(6)).toBeFalsy()
|
||||
expect(editor.isFoldedAtScreenRow(10)).toBeTruthy()
|
||||
|
||||
editor.setSelectedBufferRange([[10, 0], [12, 0]])
|
||||
expect(editor.isFoldedAtScreenRow(10)).toBeTruthy()
|
||||
|
||||
describe "when the 'preserveFolds' option is true", ->
|
||||
it "does not remove folds that contain the selections", ->
|
||||
editor.setSelectedBufferRange([[0, 0], [0, 0]])
|
||||
|
||||
@@ -87,7 +87,7 @@ class Selection extends Model
|
||||
setBufferRange: (bufferRange, options={}) ->
|
||||
bufferRange = Range.fromObject(bufferRange)
|
||||
options.reversed ?= @isReversed()
|
||||
@editor.destroyFoldsIntersectingBufferRange(bufferRange) unless options.preserveFolds
|
||||
@editor.destroyFoldsContainingBufferPositions([bufferRange.start, bufferRange.end], true) unless options.preserveFolds
|
||||
@modifySelection =>
|
||||
needsFlash = options.flash
|
||||
delete options.flash if options.flash?
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -2499,8 +2499,9 @@ class TextEditor extends Model
|
||||
#
|
||||
# Returns the added {Selection}.
|
||||
addSelectionForBufferRange: (bufferRange, options={}) ->
|
||||
bufferRange = Range.fromObject(bufferRange)
|
||||
unless options.preserveFolds
|
||||
@destroyFoldsIntersectingBufferRange(bufferRange)
|
||||
@displayLayer.destroyFoldsContainingBufferPositions([bufferRange.start, bufferRange.end], true)
|
||||
@selectionsMarkerLayer.markBufferRange(bufferRange, {invalidate: 'never', reversed: options.reversed ? false})
|
||||
@getLastSelection().autoscroll() unless options.autoscroll is false
|
||||
@getLastSelection()
|
||||
@@ -3321,8 +3322,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.
|
||||
@@ -3351,7 +3351,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: ->
|
||||
@@ -3450,6 +3450,10 @@ class TextEditor extends Model
|
||||
destroyFoldsIntersectingBufferRange: (bufferRange) ->
|
||||
@displayLayer.destroyFoldsIntersectingBufferRange(bufferRange)
|
||||
|
||||
# Remove any {Fold}s found that contain the given array of buffer positions.
|
||||
destroyFoldsContainingBufferPositions: (bufferPositions, excludeEndpoints) ->
|
||||
@displayLayer.destroyFoldsContainingBufferPositions(bufferPositions, excludeEndpoints)
|
||||
|
||||
###
|
||||
Section: Gutters
|
||||
###
|
||||
|
||||
Reference in New Issue
Block a user