This repository has been archived on 2020-11-02. You can view files and clone it, but cannot push or open issues or pull requests.
TripSit_Suite/node_modules/remark-parse/lib/util/get-indentation.js

38 lines
666 B
JavaScript
Raw Normal View History

'use strict'
module.exports = indentation
var tab = '\t'
var space = ' '
var spaceSize = 1
var tabSize = 4
// Gets indentation information for a line.
function indentation(value) {
var index = 0
var indent = 0
var character = value.charAt(index)
var stops = {}
var size
var lastIndent = 0
while (character === tab || character === space) {
size = character === tab ? tabSize : spaceSize
indent += size
if (size > 1) {
indent = Math.floor(indent / size) * size
}
while (lastIndent < indent) {
stops[++lastIndent] = index
}
character = value.charAt(++index)
}
return {indent: indent, stops: stops}
}