fix: handle literal \r\n escape sequences in hwpod-node insert-after/replace anchor matching

This commit is contained in:
Codex Agent
2026-06-07 12:54:17 +08:00
parent 892c9af366
commit 8e637db794
+2 -1
View File
@@ -701,7 +701,8 @@ function lineEndingFromArgs(args: any, fallback: string) {
}
function normalizeContentLineEndings(content: string, lineEnding: string, finalNewline: boolean) {
const normalized = String(content).replace(/\r\n?/gu, "\n");
const unescaped = String(content).replace(/\\r\\n/gu, "\r\n").replace(/\\n/gu, "\n").replace(/\\r(?!\n)/gu, "\r");
const normalized = unescaped.replace(/\r\n?/gu, "\n");
const withFinal = finalNewline && !normalized.endsWith("\n") ? `${normalized}\n` : normalized;
return lineEnding === "\r\n" ? withFinal.replace(/\n/gu, "\r\n") : withFinal;
}