a *eg @sDdZddlmZmZdZdZgdZddZd d d Zdd d Z dS)a Pygments ~~~~~~~~ Pygments is a syntax highlighting package written in Python. It is a generic syntax highlighter for general use in all kinds of software such as forum systems, wikis or other applications that need to prettify source code. Highlights are: * a wide range of common languages and markup formats is supported * special attention is paid to details, increasing quality by a fair amount * support for new languages and formats are added easily * a number of output formats, presently HTML, LaTeX, RTF, SVG, all image formats that PIL supports, and ANSI sequences * it is usable as a command-line tool and as a library * ... and it highlights even Brainfuck! The `Pygments master branch`_ is installable with ``easy_install Pygments==dev``. .. _Pygments master branch: https://github.com/pygments/pygments/archive/master.zip#egg=Pygments-dev :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. )StringIOBytesIOz2.18.0Zrestructuredtext)lexformat highlightcCsNz ||WStyHddlm}t|trBt||rBtdYn0dS)z Lex `code` with the `lexer` (must be a `Lexer` instance) and return an iterable of tokens. Currently, this only calls `lexer.get_tokens()`. r) RegexLexerz4lex() argument must be a lexer instance, not a classN)Z get_tokens TypeErrorZpip._vendor.pygments.lexerr isinstancetype issubclass)codelexerrrG/usr/local/lib/python3.9/site-packages/pip/_vendor/pygments/__init__.pyr#s   rNcCszB|s4t|ddrtpt}||||WS|||Wn<ty~ddlm}t|t rxt ||rxtdYn0dS)a Format ``tokens`` (an iterable of tokens) with the formatter ``formatter`` (a `Formatter` instance). If ``outfile`` is given and a valid file object (an object with a ``write`` method), the result will be written to it, otherwise it is returned as a string. encodingNr) Formatterz;format() argument must be a formatter instance, not a class) getattrrrrgetvaluerZpip._vendor.pygments.formatterrr r r )tokens formatteroutfileZ realoutfilerrrrr4s     rcCstt||||S)zp This is the most high-level highlighting function. It combines `lex` and `format` in one function. )rr)r r rrrrrrMsr)N)N) __doc__iorr __version__Z __docformat____all__rrrrrrrs