code: function indentation(value, maximum) {
    var values = value.split(lineFeed)
    var position = values.length + 1
    var minIndent = Infinity
    var matrix = []
    var index
    var indentation
    var stops
    var padding
  
    values.unshift(repeat(space, maximum) + exclamationMark)
  
    while (position--) {
      indentation = getIndent(values[position])
  
      matrix[position] = indentation.stops
  
      if (trim(values[position]).length === 0) {
        continue
      }
  
      if (indentation.indent) {
        if (indentation.indent > 0 && indentation.indent < minIndent) {
          minIndent = indentation.indent
        }
      } else {
        minIndent = Infinity
  
        break
      }
    }
  
    if (minIndent !== Infinity) {
      position = values.length
  
      while (position--) {
        stops = matrix[position]
        index = minIndent
  
        while (index && !(index in stops)) {
          index--
        }
  
        if (
          trim(values[position]).length !== 0 &&
          minIndent &&
          index !== minIndent
        ) {
          padding = tab
        } else {
          padding = ''
        }
  
        values[position] =
          padding + values[position].slice(index in stops ? stops[index] + 1 : 0)
      }
    }
  
    values.shift()
  
    return values.join(lineFeed)
  }
docs: Remove the minimum indent from every line in `value`.  Supports both tab, spaced, and mixed indentation (as well as possible).