]> git.r.bdr.sh - rbdr/dotfiles/blobdiff - atom/packages/vim-mode/lib/utils.coffee
Update atoms
[rbdr/dotfiles] / atom / packages / vim-mode / lib / utils.coffee
index 362b65d20a1aba9fc78a1d5f627c91ca8b465395..5a26310a43689d87ddcc11c3a7f2efae46362727 100644 (file)
@@ -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)