diff options
| author | Ben Beltran <ben@nsovocal.com> | 2015-09-28 12:39:59 -0500 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2015-09-28 12:39:59 -0500 |
| commit | 455f099b504ec07dd492ab31987ae05a6f6774c7 (patch) | |
| tree | 22b0c7fd8e492733b97e661750a2d79c46da451d /atom/packages/vim-mode/lib/utils.coffee | |
| parent | 24c7594d62d8d7fbbcdb64b11ce4adc5d8e6991a (diff) | |
Adds atom packages
Diffstat (limited to 'atom/packages/vim-mode/lib/utils.coffee')
| -rw-r--r-- | atom/packages/vim-mode/lib/utils.coffee | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/atom/packages/vim-mode/lib/utils.coffee b/atom/packages/vim-mode/lib/utils.coffee index 362b65d..5a26310 100644 --- a/atom/packages/vim-mode/lib/utils.coffee +++ b/atom/packages/vim-mode/lib/utils.coffee @@ -1,3 +1,5 @@ +{Range} = require 'atom' + module.exports = # Public: Determines if a string should be considered linewise or character # @@ -12,3 +14,14 @@ module.exports = 'linewise' else 'character' + + # Public: return a union of two ranges, or simply the newRange if the oldRange is empty. + # + # Returns a Range + mergeRanges: (oldRange, newRange) -> + oldRange = Range.fromObject oldRange + newRange = Range.fromObject newRange + if oldRange.isEmpty() + newRange + else + oldRange.union(newRange) |