Append a styled span while preserving color-run coalescing.
(target: RenderSpan[], span: RenderSpan)
| 48 | |
| 49 | /** Append a styled span while preserving color-run coalescing. */ |
| 50 | function appendRenderSpan(target: RenderSpan[], span: RenderSpan) { |
| 51 | const previous = target.at(-1); |
| 52 | if (previous && previous.fg === span.fg && previous.bg === span.bg) { |
| 53 | previous.text += span.text; |
| 54 | } else { |
| 55 | target.push(span); |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | /** Slice styled spans to one visible window while preserving color runs. */ |
| 60 | function sliceSpansWindow(spans: RenderSpan[], offset: number, width: number) { |
no outgoing calls
no test coverage detected