aboutsummaryrefslogtreecommitdiff
path: root/atom/packages/vim-mode/lib/utils.coffee
diff options
context:
space:
mode:
authorBen Beltran <ben@nsovocal.com>2015-09-28 12:39:59 -0500
committerBen Beltran <ben@nsovocal.com>2015-09-28 12:39:59 -0500
commit455f099b504ec07dd492ab31987ae05a6f6774c7 (patch)
tree22b0c7fd8e492733b97e661750a2d79c46da451d /atom/packages/vim-mode/lib/utils.coffee
parent24c7594d62d8d7fbbcdb64b11ce4adc5d8e6991a (diff)
Adds atom packages
Diffstat (limited to 'atom/packages/vim-mode/lib/utils.coffee')
-rw-r--r--atom/packages/vim-mode/lib/utils.coffee13
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)