Files
atom/src/app/command-interpreter/regex-address.coffee
Nathan Sobo fb915f9c1c 💄
2012-04-03 15:24:11 -06:00

29 lines
796 B
CoffeeScript

Address = require 'command-interpreter/address'
Range = require 'range'
module.exports =
class RegexAddress extends Address
regex: null
constructor: (pattern) ->
@regex = new RegExp(pattern)
getRange: (editor) ->
selectedRange = editor.getLastSelectionInBuffer().getBufferRange()
rangeToSearch = new Range(selectedRange.end, editor.getEofPosition())
rangeToReturn = null
editor.buffer.scanRegexMatchesInRange @regex, rangeToSearch, (match, range) ->
rangeToReturn = range
if rangeToReturn
rangeToReturn
else
rangeToSearch = new Range([0, 0], rangeToSearch.start)
editor.buffer.scanRegexMatchesInRange @regex, rangeToSearch, (match, range) ->
rangeToReturn = range
rangeToReturn or selectedRange
isRelative: -> true