HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/pygments/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/pygments/__pycache__/formatter.cpython-312.pyc
�

|�e:��H�dZddlZddlmZddlmZdgZd�ZGd�d�Zy)z�
    pygments.formatter
    ~~~~~~~~~~~~~~~~~~

    Base formatter class.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�get_bool_opt)�get_style_by_name�	Formatterc�<�t|t�rt|�S|S)N)�
isinstance�strr)�styles �4/usr/lib/python3/dist-packages/pygments/formatter.py�
_lookup_stylers���%��� ��'�'��L�c�4�eZdZdZdZgZgZdZd�Zdd�Z	d�Z
y)ra
    Converts a token stream to text.

    Formatters should have attributes to help selecting them. These
    are similar to the corresponding :class:`~pygments.lexer.Lexer`
    attributes.

    .. autoattribute:: name
       :no-value:

    .. autoattribute:: aliases
       :no-value:

    .. autoattribute:: filenames
       :no-value:

    You can pass options as keyword arguments to the constructor.
    All formatters accept these basic options:

    ``style``
        The style to use, can be a string or a Style subclass
        (default: "default"). Not used by e.g. the
        TerminalFormatter.
    ``full``
        Tells the formatter to output a "full" document, i.e.
        a complete self-contained document. This doesn't have
        any effect for some formatters (default: false).
    ``title``
        If ``full`` is true, the title that should be used to
        caption the document (default: '').
    ``encoding``
        If given, must be an encoding name. This will be used to
        convert the Unicode token strings to byte strings in the
        output. If it is "" or None, Unicode strings will be written
        to the output file, which most file-like objects do not
        support (default: None).
    ``outencoding``
        Overrides ``encoding`` if given.

    NTc�L�t|jdd��|_t|dd�|_|jdd�|_|jdd�xsd|_|jd	vrd
|_|jd�xs|j|_||_y)z�
        As with lexers, this constructor takes arbitrary optional arguments,
        and if you override it, you should first process your own options, then
        call the base class implementation.
        r	�default�fullF�title��encodingN)�guess�chardetzutf-8�outencoding)r�getr	rrrr�options)�selfrs  r
�__init__zFormatter.__init__Ss���#�7�;�;�w�	�#B�C��
� ��&�%�8��	��[�[��"�-��
����J��5�=���
��=�=�0�0�#�D�M����M�2�C�d�m�m��
���rc��y)a
        This method must return statements or declarations suitable to define
        the current style for subsequent highlighted text (e.g. CSS classes
        in the `HTMLFormatter`).

        The optional argument `arg` can be used to modify the generation and
        is formatter dependent (it is standardized because it can be given on
        the command line).

        This method is called by the ``-S`` :doc:`command-line option <cmdline>`,
        the `arg` is then given by the ``-a`` option.
        r�)r�args  r
�get_style_defszFormatter.get_style_defscs��rc��|jr(tj|j�d|�}|j||�S)z�
        This method must format the tokens from the `tokensource` iterable and
        write the formatted version to the file object `outfile`.

        Formatter options can control how exactly the tokens are converted.
        �)r�codecs�lookup�format_unencoded)r�tokensource�outfiles   r
�formatzFormatter.formatrs<���=�=�5�f�m�m�D�M�M�2�1�5�g�>�G��$�$�[�'�:�:r)r)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�
unicodeoutputrrr&rrr
rrs3��'�T�D��G�
�I��M�� 
�
;r)	r*r!�
pygments.utilr�pygments.stylesr�__all__rrrrr
�<module>r2s-����&�-��-���c;�c;r