def display_text(text, highlight=None, max_width=80, split_at=None):
    """In a Jupyter notebook, takes a multi-line string, displays these lines
    in '<pre></pre>' block HTML. A list of lines may be provided that should
    be highlighted in the result. A highlight gives a gray background and bold
    font.

    :param text: string
    :param lines: list of lines to be highlighted.
    """
    from IPython.display import display, HTML

    if not isinstance(text, str):
        text = str(text)

    highlight = highlight or []
    split_at = split_at or max_width - 10
    style = [
        'font-size: 9pt; margin: 0pt',
        'background: #eeeeee; color: black;'
        'font-weight: bold; font-size: 9pt; margin: 0pt']
    display(HTML('\n'.join(
        '<pre style="{}">{}</pre>'.format(
            style[i in highlight],
            html.escape(snip_line(line, max_width, split_at)))
        for i, line in enumerate(text.splitlines()))))
In a Jupyter notebook, takes a multi-line string, displays these lines
    in '<pre></pre>' block HTML. A list of lines may be provided that should
    be highlighted in the result. A highlight gives a gray background and bold
    font.

    :param text: string
    :param lines: list of lines to be highlighted.