  
  ------------------------------------------------------------------------------
  
- © 2014-2017 1024jp
+ © 2014-2018 1024jp
  
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.

            let targetRange = self.commentingRange(fromLineHead: fromLineHead),
            !targetRange.isEmpty else { return }
        
        let spacer = UserDefaults.standard[.appendsCommentSpacer] ? " " : ""
        var new: (String, NSRange)?
        
        if let delimiters = self.blockCommentDelimiters, types.contains(.block) {

        guard self.blockCommentDelimiters != nil || self.inlineCommentDelimiter != nil else { return false }
        
        guard
            let targetRange = self.commentingRange(fromLineHead: self.commentsAtLineHead),
            !targetRange.isEmpty else { return false }
        
        let target = self.string[targetRange]
