mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-02 18:11:04 +08:00
This also adds CC-BY-4.0 to the list of accepted licenses. DISABLE_THIRD_PARTY_CHECK=update dependencies Bug: chromium:1083142 Change-Id: I8612de2fba52dae32eeb71af79d5aacfde52142b Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2220097 Reviewed-by: Paul Lewis <aerotwist@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org>
38 lines
666 B
JavaScript
38 lines
666 B
JavaScript
'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}
|
|
}
|