From e858f7eb2a6c9ea9198b33c421a74b28333f09ad Mon Sep 17 00:00:00 2001 From: Kevin Sawicki & Nathan Sobo Date: Tue, 26 Feb 2013 17:03:02 -0700 Subject: [PATCH] Replace stayValid option w/ validationStrategy when creating markers --- spec/app/buffer-spec.coffee | 18 +++++++++--------- src/app/buffer-marker.coffee | 6 +++--- src/app/edit-session.coffee | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/spec/app/buffer-spec.coffee b/spec/app/buffer-spec.coffee index e355dd6a9..c6ea99a3c 100644 --- a/spec/app/buffer-spec.coffee +++ b/spec/app/buffer-spec.coffee @@ -861,8 +861,8 @@ describe 'Buffer', -> buffer.undo() expect(buffer.getMarkerRange(marker)).toBeUndefined() - # even "stayValid" markers get destroyed properly - marker2 = buffer.markRange([[4, 20], [4, 23]], stayValid: true) + # even "invalidationStrategy: never" markers get destroyed properly + marker2 = buffer.markRange([[4, 20], [4, 23]], invalidationStrategy: 'never') buffer.delete([[4, 15], [4, 25]]) buffer.destroyMarker(marker2) buffer.undo() @@ -873,7 +873,7 @@ describe 'Buffer', -> beforeEach -> marker1 = buffer.markRange([[4, 20], [4, 23]]) - marker2 = buffer.markRange([[4, 20], [4, 23]], stayValid: true) + marker2 = buffer.markRange([[4, 20], [4, 23]], invalidationStrategy: 'never') describe "when the buffer changes due to a new operation", -> describe "when the change precedes the marker range", -> @@ -911,14 +911,14 @@ describe 'Buffer', -> expect(buffer.getMarkerRange(marker1)).toEqual [[4, 20], [4, 26]] describe "when the change surrounds the marker range", -> - describe "when the marker was created with stayValid: false (the default)", -> + describe "when the marker's invalidation strategy is 'contains' (the default)", -> it "invalidates the marker", -> buffer.delete([[4, 15], [4, 25]]) expect(buffer.getMarkerRange(marker1)).toBeUndefined() buffer.undo() expect(buffer.getMarkerRange(marker1)).toEqual [[4, 20], [4, 23]] - describe "when the marker was created with stayValid: true", -> + describe "when the marker's invalidation strategy is 'never'", -> it "does not invalidate the marker, but sets it to an empty range at the end of the change", -> buffer.change([[4, 15], [4, 25]], "...") expect(buffer.getMarkerRange(marker2)).toEqual [[4, 18], [4, 18]] @@ -926,14 +926,14 @@ describe 'Buffer', -> expect(buffer.getMarkerRange(marker2)).toEqual [[4, 20], [4, 23]] describe "when the change straddles the start of the marker range", -> - describe "when the marker was created with stayValid: false (the default)", -> + describe "when the marker's invalidation strategy is 'contains' (the default)", -> it "invalidates the marker", -> buffer.delete([[4, 15], [4, 22]]) expect(buffer.getMarkerRange(marker1)).toBeUndefined() buffer.undo() expect(buffer.getMarkerRange(marker1)).toEqual [[4, 20], [4, 23]] - describe "when the marker was created with stayValid: true", -> + describe "when the marker's invalidation strategy is 'never'", -> it "moves the start of the marker range to the end of the change", -> buffer.delete([[4, 15], [4, 22]]) expect(buffer.getMarkerRange(marker2)).toEqual [[4, 15], [4, 16]] @@ -941,14 +941,14 @@ describe 'Buffer', -> expect(buffer.getMarkerRange(marker1)).toEqual [[4, 20], [4, 23]] describe "when the change straddles the end of the marker range", -> - describe "when the marker was created with stayValid: false (the default)", -> + describe "when the marker's invalidation strategy is 'contains' (the default)", -> it "invalidates the marker", -> buffer.delete([[4, 22], [4, 25]]) expect(buffer.getMarkerRange(marker1)).toBeUndefined() buffer.undo() expect(buffer.getMarkerRange(marker1)).toEqual [[4, 20], [4, 23]] - describe "when the marker was created with stayValid: true", -> + describe "when the marker's invalidation strategy is 'never'", -> it "moves the end of the marker range to the start of the change", -> buffer.delete([[4, 22], [4, 25]]) expect(buffer.getMarkerRange(marker2)).toEqual [[4, 20], [4, 22]] diff --git a/src/app/buffer-marker.coffee b/src/app/buffer-marker.coffee index e3206ee9e..55a9f2545 100644 --- a/src/app/buffer-marker.coffee +++ b/src/app/buffer-marker.coffee @@ -8,9 +8,9 @@ class BufferMarker headPosition: null tailPosition: null suppressObserverNotification: false - stayValid: false + invalidationStrategy: 'contains' - constructor: ({@id, @buffer, range, @stayValid, noTail, reverse}) -> + constructor: ({@id, @buffer, range, @invalidationStrategy, noTail, reverse}) -> @setRange(range, {noTail, reverse}) setRange: (range, options={}) -> @@ -76,7 +76,7 @@ class BufferMarker containsEnd = oldRange.containsPoint(@getEndPosition(), exclusive: true) return unless containsEnd or containsStart - if @stayValid + if @invalidationStrategy is 'never' previousRange = @getRange() if containsStart and containsEnd @setRange([oldRange.end, oldRange.end]) diff --git a/src/app/edit-session.coffee b/src/app/edit-session.coffee index f2f9bbbe9..b160d5468 100644 --- a/src/app/edit-session.coffee +++ b/src/app/edit-session.coffee @@ -538,11 +538,11 @@ class EditSession _.last(@cursors) addCursorAtScreenPosition: (screenPosition) -> - marker = @markScreenPosition(screenPosition, stayValid: true) + marker = @markScreenPosition(screenPosition, invalidationStrategy: 'never') @addSelection(marker).cursor addCursorAtBufferPosition: (bufferPosition) -> - marker = @markBufferPosition(bufferPosition, stayValid: true) + marker = @markBufferPosition(bufferPosition, invalidationStrategy: 'never') @addSelection(marker).cursor addCursor: (marker) -> @@ -565,7 +565,7 @@ class EditSession selection addSelectionForBufferRange: (bufferRange, options={}) -> - options = _.defaults({stayValid: true}, options) + options = _.defaults({invalidationStrategy: 'never'}, options) marker = @markBufferRange(bufferRange, options) @addSelection(marker)