opencode/packages/tui/src/prompt/part.ts
2026-07-06 14:35:31 -04:00

15 lines
568 B
TypeScript

import { displaySlice } from "./display"
export function expandPastedTextPlaceholders(
text: string,
pasted: readonly { text: string; source: { text: string } }[],
) {
return pasted.reduce((result, part) => result.replace(part.source.text, part.text), text)
}
export function expandTrackedPastedText(text: string, ranges: { start: number; end: number; text: string }[]) {
return ranges
.slice()
.sort((a, b) => b.start - a.start)
.reduce((result, part) => displaySlice(result, 0, part.start) + part.text + displaySlice(result, part.end), text)
}