(text: string, pattern: string)
| 65 | } |
| 66 | |
| 67 | function highlightPattern(text: string, pattern: string): React.ReactNode { |
| 68 | try { |
| 69 | const re = new RegExp(`(${pattern})`, "gi"); |
| 70 | const parts = text.split(re); |
| 71 | return parts.map((part, i) => |
| 72 | re.test(part) ? ( |
| 73 | <mark key={i} className="bg-yellow-500/30 text-yellow-200 rounded-sm"> |
| 74 | {part} |
| 75 | </mark> |
| 76 | ) : ( |
| 77 | part |
| 78 | ) |
| 79 | ); |
| 80 | } catch { |
| 81 | return text; |
| 82 | } |
| 83 | } |
| 84 | |
| 85 | export function ToolGrep({ |
| 86 | input, |