Path 1: 6 calls (1.0)

[] (6)

'

\n' (...

1def _render_segments(segments: Iterable[Segment]) -> str:
2    def escape(text: str) -> str:
3        """Escape html."""
4        return text.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;")
5
6    fragments: List[str] = []
7    append_fragment = fragments.append
8    theme = DEFAULT_TERMINAL_THEME
9    for text, style, control in Segment.simplify(segments):
10        if control:
11            continue
12        text = escape(text)
13        if style:
14            rule = style.get_html_style(theme)
15            text = f'<span style="{rule}">{text}</span>' if rule else text
16            if style.link:
17                text = f'<a href="{style.link}" target="_blank">{text}</a>'
18        append_fragment(text)
19
20    code = "".join(fragments)
21    html = JUPYTER_HTML_FORMAT.format(code=code)
22
23    return html