a
    ©lcŸ  ã                   @   sD   d Z ddlmZmZ dZdZg d¢Zdd„ Zdd	d
„Zddd„Z	dS )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-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )ÚStringIOÚBytesIOz2.13.0Úrestructuredtext)ÚlexÚformatÚ	highlightc                 C   sN   z|  | ¡W S  tyH   ddlm} t|tƒrBt||ƒrBtdƒ‚‚ Y n0 dS )zG
    Lex ``code`` with ``lexer`` and return an iterable of tokens.
    r   )Ú
RegexLexerz4lex() argument must be a lexer instance, not a classN)Ú
get_tokensÚ	TypeErrorZpygments.lexerr   Ú
isinstanceÚtypeÚ
issubclass)ÚcodeÚlexerr   © r   úM/var/www/html/django/DPS/env/lib/python3.9/site-packages/pygments/__init__.pyr   #   s    r   Nc                 C   s„   zB|s4t |ddƒrtƒ ptƒ }| | |¡ | ¡ W S | | |¡ W n< ty~   ddlm} t|t	ƒrxt
||ƒrxtdƒ‚‚ Y n0 dS )zó
    Format a tokenlist ``tokens`` with the formatter ``formatter``.

    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)Úgetattrr   r   r   Úgetvaluer
   Zpygments.formatterr   r   r   r   )ÚtokensÚ	formatterÚoutfileÚrealoutfiler   r   r   r   r   2   s    
r   c                 C   s   t t| |ƒ||ƒS )zÿ
    Lex ``code`` with ``lexer`` and format it with the formatter ``formatter``.

    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.
    )r   r   )r   r   r   r   r   r   r   r   J   s    r   )N)N)
Ú__doc__Úior   r   Ú__version__Ú__docformat__Ú__all__r   r   r   r   r   r   r   Ú<module>   s   
