Method: rich.jupyter._render_segments
Calls: 6, Exceptions: 0, Paths: 1Back
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("&", "&").replace("<", "<").replace(">", ">")
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