Regex addresses always search from the last selection in the buffer

This commit is contained in:
Nathan Sobo
2012-03-27 18:30:49 -07:00
parent 2b77452f4f
commit 8727caf97a
4 changed files with 21 additions and 4 deletions

View File

@@ -9,7 +9,7 @@ class RegexAddress extends Address
@regex = new RegExp(pattern)
getRange: (editor) ->
selectedRange = editor.getSelection().getBufferRange()
selectedRange = editor.getLastSelectionInBuffer().getBufferRange()
rangeToSearch = new Range(selectedRange.end, editor.getEofPosition())
rangeToReturn = selectedRange

View File

@@ -12,6 +12,12 @@ class CompositeSeleciton
getSelections: -> new Array(@selections...)
getLastSelectionInBuffer: ->
_.last(@getSelections().sort (a, b) ->
aRange = a.getBufferRange()
bRange = b.getBufferRange()
aRange.end.compare(bRange.end))
clearSelections: ->
for selection in @getSelections()[1..]
selection.cursor.remove()

View File

@@ -357,6 +357,7 @@ class Editor extends View
getSelection: (index) -> @compositeSelection.getSelection(index)
getSelections: -> @compositeSelection.getSelections()
getLastSelectionInBuffer: -> @compositeSelection.getLastSelectionInBuffer()
getSelectedText: -> @compositeSelection.getSelection().getText()
setSelectionBufferRange: (bufferRange, options) -> @compositeSelection.setBufferRange(bufferRange, options)
addSelectionForBufferRange: (bufferRange, options) -> @compositeSelection.addSelectionForBufferRange(bufferRange, options)