diff options
| author | Ben Beltran <ben@nsovocal.com> | 2015-07-10 11:12:25 -0500 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2015-07-10 11:12:25 -0500 |
| commit | 24c7594d62d8d7fbbcdb64b11ce4adc5d8e6991a (patch) | |
| tree | ded312222bb108923da1820ba40b04d710d20e5b /atom/packages/ex-mode/lib/find.coffee | |
| parent | eb786e82d170e2abc351a432ade616d6ecdeeb6b (diff) | |
Adds atom
Diffstat (limited to 'atom/packages/ex-mode/lib/find.coffee')
| -rw-r--r-- | atom/packages/ex-mode/lib/find.coffee | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/atom/packages/ex-mode/lib/find.coffee b/atom/packages/ex-mode/lib/find.coffee new file mode 100644 index 0000000..53dffc5 --- /dev/null +++ b/atom/packages/ex-mode/lib/find.coffee @@ -0,0 +1,26 @@ +module.exports = { + findInBuffer : (buffer, pattern) -> + found = [] + buffer.scan(new RegExp(pattern, 'g'), (obj) -> found.push obj.range) + return found + + findNextInBuffer : (buffer, curPos, pattern) -> + found = @findInBuffer(buffer, pattern) + more = (i for i in found when i.compare([curPos, curPos]) is 1) + if more.length > 0 + return more[0].start.row + else if found.length > 0 + return found[0].start.row + else + return null + + findPreviousInBuffer : (buffer, curPos, pattern) -> + found = @findInBuffer(buffer, pattern) + less = (i for i in found when i.compare([curPos, curPos]) is -1) + if less.length > 0 + return less[less.length - 1].start.row + else if found.length > 0 + return found[found.length - 1].start.row + else + return null +} |