import React from 'react' const MARKER_RUNES = /\x02|\x03/g /** * Splits a snippet string on \x02/\x03 marker runes and interleaves plain text * with `` elements for matched segments. * * Respects IV2 — no dangerouslySetInnerHTML, marker-rune split with React text * nodes only, safe against XSS. */ export function highlightSnippet(snippet: string): (string | React.JSX.Element)[] { const parts = snippet.split(MARKER_RUNES) const out: (string | React.JSX.Element)[] = [] let inMatch = false for (const p of parts) { if (p === '') continue if (inMatch) out.push(React.createElement('mark', { key: out.length }, p)) else out.push(p) inMatch = !inMatch } return out }