if (found === null) { thrownew Error(
`Failed to find expected lines in ${filePath}:\n${chunk.oldLines.join("\n")}`,
);
}
replacements.push([found, pattern.length, newSlice]);
lineIndex = found + pattern.length;
}
replacements.sort((a, b) => a[0] - b[0]); return replacements;
}
function applyReplacements(
lines: string[],
replacements: Array<[number, number, string[]]>,
): string[] { const result = [...lines]; for (const [startIndex, oldLen, newLines] of [...replacements].toReversed()) { for (let i = 0; i < oldLen; i += 1) { if (startIndex < result.length) {
result.splice(startIndex, 1);
}
} for (let i = 0; i < newLines.length; i += 1) {
result.splice(startIndex + i, 0, newLines[i]);
}
} return result;
}
function seekSequence(
lines: string[],
pattern: string[],
start: number,
eof: boolean,
): number | null { if (pattern.length === 0) { return start;
} if (pattern.length > lines.length) { returnnull;
}
for (let i = searchStart; i <= maxStart; i += 1) { if (linesMatch(lines, pattern, i, (value) => value)) { return i;
}
} for (let i = searchStart; i <= maxStart; i += 1) { if (linesMatch(lines, pattern, i, (value) => value.trimEnd())) { return i;
}
} for (let i = searchStart; i <= maxStart; i += 1) { if (linesMatch(lines, pattern, i, (value) => value.trim())) { return i;
}
} for (let i = searchStart; i <= maxStart; i += 1) { if (linesMatch(lines, pattern, i, (value) => normalizePunctuation(value.trim()))) { return i;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.