File: //usr/local/lib/python3.10/dist-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-310.pyc
o
��h& � @ sD d Z ddlZddlmZ ddlmZ dgZdd� ZG dd� d�ZdS ) z�
pygments.formatter
~~~~~~~~~~~~~~~~~~
Base formatter class.
:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�get_bool_opt)�get_style_by_name� Formatterc C s t | t�r t| �S | S �N)�
isinstance�strr )�style� r �I/usr/local/lib/python3.10/dist-packages/pip/_vendor/pygments/formatter.py�
_lookup_style s
r c @ sB e Zd ZdZdZg Zg ZdZdd� Zd
dd�Z d d
� Z
dd� ZdS )r a
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 K sl t |�dd��| _t|dd�| _|�dd�| _|�dd�pd| _| jd v r(d
| _|�d�p/| j| _|| _dS )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 r r
r r �options)�selfr r r r
�__init__S s
zFormatter.__init__r c C s dS )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 )r �argr r r
�get_style_defsc s
zFormatter.get_style_defsc C s&