function getLineOffsets()

in src/yaml/yamlUtils.ts [233:254]


function getLineOffsets(text: string): number[] {
    const lineOffsets: number[] = []
    let isLineStart = true

    for (let i = 0; i < text.length; i++) {
        if (isLineStart) {
            lineOffsets.push(i)
            isLineStart = false
        }
        const ch = text.charAt(i)
        isLineStart = ch === '\r' || ch === '\n'
        if (ch === '\r' && i + 1 < text.length && text.charAt(i + 1) === '\n') {
            i++
        }
    }

    if (isLineStart && text.length > 0) {
        lineOffsets.push(text.length)
    }

    return lineOffsets
}