( line: string, language: string | null, theme: Theme, )
| 91 | } |
| 92 | |
| 93 | function highlightAndRenderLine( |
| 94 | line: string, |
| 95 | language: string | null, |
| 96 | theme: Theme, |
| 97 | ): React.ReactNode { |
| 98 | try { |
| 99 | const getHighlightedLine = () => |
| 100 | !language || !lowlight.registered(language) |
| 101 | ? lowlight.highlightAuto(line) |
| 102 | : lowlight.highlight(language, line); |
| 103 | |
| 104 | const renderedNode = renderHastNode(getHighlightedLine(), theme, undefined); |
| 105 | |
| 106 | return renderedNode !== null ? renderedNode : line; |
| 107 | } catch (_error) { |
| 108 | return line; |
| 109 | } |
| 110 | } |
| 111 | |
| 112 | export function colorizeLine( |
| 113 | line: string, |
no test coverage detected