refactor(hashline-edit): enforce three-op edit model

Unify internal hashline edit handling around replace/append/prepend to remove legacy operation shapes. This keeps normalization, ordering, deduplication, execution, and tests aligned with the new op/pos/end/lines contract.
This commit is contained in:
minpeter
2026-02-24 05:06:41 +09:00
parent 6ec0ff732b
commit 08b663df86
10 changed files with 86 additions and 261 deletions
@@ -150,11 +150,3 @@ export function applyPrepend(lines: string[], text: string | string[]): string[]
}
return [...normalized, ...lines]
}
export function applyReplace(content: string, oldText: string, newText: string | string[]): string {
if (!content.includes(oldText)) {
throw new Error(`Text not found: "${oldText}"`)
}
const replacement = Array.isArray(newText) ? newText.join("\n") : newText
return content.replaceAll(oldText, replacement)
}