PHP 8.2.30
Preview: __init__.py Size: 2.93 KB
/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/pygments/__init__.py

"""
    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.
"""
from io import StringIO, BytesIO

__version__ = '2.12.0'
__docformat__ = 'restructuredtext'

__all__ = ['lex', 'format', 'highlight']


def lex(code, lexer):
    """
    Lex ``code`` with ``lexer`` and return an iterable of tokens.
    """
    try:
        return lexer.get_tokens(code)
    except TypeError as err:
        if (isinstance(err.args[0], str) and
            ('unbound method get_tokens' in err.args[0] or
             'missing 1 required positional argument' in err.args[0])):
            raise TypeError('lex() argument must be a lexer instance, '
                            'not a class')
        raise


def format(tokens, formatter, outfile=None):  # pylint: disable=redefined-builtin
    """
    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.
    """
    try:
        if not outfile:
            realoutfile = getattr(formatter, 'encoding', None) and BytesIO() or StringIO()
            formatter.format(tokens, realoutfile)
            return realoutfile.getvalue()
        else:
            formatter.format(tokens, outfile)
    except TypeError as err:
        if (isinstance(err.args[0], str) and
            ('unbound method format' in err.args[0] or
             'missing 1 required positional argument' in err.args[0])):
            raise TypeError('format() argument must be a formatter instance, '
                            'not a class')
        raise


def highlight(code, lexer, formatter, outfile=None):
    """
    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.
    """
    return format(lex(code, lexer), formatter, outfile)

Directory Contents

Dirs: 5 × Files: 16

Name Size Perms Modified Actions
filters DIR
- drwxr-xr-x 2024-03-03 22:49:50
Edit Download
- drwxr-xr-x 2024-03-03 22:49:50
Edit Download
lexers DIR
- drwxr-xr-x 2024-03-03 22:49:50
Edit Download
styles DIR
- drwxr-xr-x 2024-03-03 22:49:50
Edit Download
- drwxr-xr-x 2024-03-03 22:49:50
Edit Download
22.86 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
1.66 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
1.89 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
2.85 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
31.25 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
986 B lrw-r--r-- 2023-11-13 21:40:26
Edit Download
1.69 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
3.00 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
3.02 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
4.52 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
6.11 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
6.00 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
61.71 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
8.90 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
2.93 KB lrw-r--r-- 2023-11-13 21:40:26
Edit Download
353 B lrw-r--r-- 2023-11-13 21:40:26
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).