     
     /// Return a new range by assuming the indexes in the given ranges are removed.
     ///
-    /// - Parameter deletingRanges: An array of NSRange where the indexes are emoved.
+    /// - Parameter ranges: An array of NSRange where the indexes are emoved.
     /// - Returns: A new range that the receiver moved.
-    func move(deleting deletingRanges: [NSRange]) -> NSRange {
-        
-        let indices = deletingRanges.reduce(into: IndexSet()) { $0.insert(integersIn: Range($1)!) }
+    func deleted(ranges: [NSRange]) -> NSRange {
+        
+        let indices = ranges.reduce(into: IndexSet()) { $0.insert(integersIn: Range($1)!) }
         
         let location = self.location - indices.count(in: ..<self.lowerBound)
         let length = self.length - indices.count(in: Range(self)!)

    ///   - spacer: The spacer between delimiter and string.
    ///   - ranges: The ranges where to comment out.
    /// - Returns: Items that contain editing information to insert comment delimiters.
    func inlineCommentOut(delimiter: String, spacer: String, ranges: [NSRange]) -> [(string: String, location: Int, forward: Bool)] {
        
        let regex = try! NSRegularExpression(pattern: "^", options: [.anchorsMatchLines])
        
        return ranges.flatMap { regex.matches(in: self, range: $0) }
            .map { $0.range.location }
            .unique
            .map { (delimiter + spacer, $0, true) }
    }
    
    

        
        let newStrings = [String](repeating: "", count: deletionRanges.count)
        let selectedRanges = (self.rangesForUserTextChange ?? self.selectedRanges)
            .map { $0.rangeValue.deleted(ranges: deletionRanges) }
        
        self.replace(with: newStrings, ranges: deletionRanges, selectedRanges: selectedRanges,
                     actionName: "Uncomment".localized)
