File: //opt/alt/python37/lib/python3.7/site-packages/pygments/__pycache__/sphinxext.cpython-37.pyc
B
��f � @ sh d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z dZ
dZd Zd
Z
G dd� de�Zd
d� ZdS )a
pygments.sphinxext
~~~~~~~~~~~~~~~~~~
Sphinx extension to generate automatic documentation of lexers,
formatters and filters.
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�nodes)�ViewList)� Directive)�nested_parse_with_titlesz
.. module:: %s
%s
%s
zX
.. class:: %s
:Short names: %s
:Filenames: %s
:MIME types: %s
%s
zA
.. class:: %s
:Short names: %s
:Filenames: %s
%s
z'
.. class:: %s
:Name: %s
%s
c @ sL e Zd ZdZdZdZdZdZi Zdd� Z dd� Z
d d
� Zdd� Zd
d� Z
dS )�PygmentsDoczn
A directive to collect all lexers/formatters/filters and generate
autoclass directives for them.
F� r c C s� t � | _| jd dkr | �� }nP| jd dkr8| �� }n8| jd dkrP| �� }n | jd dkrh| �� }ntd��t� � }t
|�d�dd �}t| j
||� x | jD ]}| j
jjj�|� q�W |jS )
Nr �lexers�
formatters�filtersZlexers_overviewz,invalid argument for "pygmentsdoc" directive�
� )�source)�set� filenames� arguments�document_lexers�document_formatters�document_filters�document_lexers_overview� Exceptionr Zcompoundr �splitr �state�document�settingsZrecord_dependencies�add�children)�self�out�nodeZvl�fn� r �C/opt/alt/python37/lib/python3.7/site-packages/pygments/sphinxext.py�runE s
zPygmentsDoc.runc
sj ddl m} ddl}g }g �dd� }x�t|�� dd� d�D ]v\}}|j�|d �}|j|j }�� ||d |j
�d
�|��dd��d
d�p�dd
�|d �|d � d|� �d�� q:W ddddg} �fdd�| D �� � fdd��� �fdd�}
|� |
� � |� �dddd �� |� |
� � x:�D ]2}|� �|d |d |d d!|d � d"��� �qW |� |
� � d#�|�S )$z�Generate a tabular overview of all lexers.
The columns are the lexer name, the extensions handled by this lexer
(or "None"), the aliases and a link to the lexer class.r )�LEXERSNc S s |rd| � d|� d�S | S )N�`z <z>`_r )�name�urlr r r! �format_linkc s z9PygmentsDoc.document_lexers_overview.<locals>.format_linkc S s | d d � � S )Nr )�lower)�xr r r! �<lambda>h � z6PygmentsDoc.document_lexers_overview.<locals>.<lambda>)�keyr z, �*z\*�_�\�None� �.)r% �
extensions�aliases�classr% r3 r4 r5 c s"