�
|�e � �l � d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z dZ
dZd Zd
Z
G d� de� Zd
� Zy)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 �B � e Zd ZdZdZdZdZdZi Zd� Z d� Z
d� Zd� Zd � Z
y
)�PygmentsDoczn
A directive to collect all lexers/formatters/filters and generate
autoclass directives for them.
F� r c � � t � | _ | j d dk( r| j � }nt| j d dk( r| j � }nQ| j d dk( r| j � }n.| j d dk( r| j
� }nt d� �t j � }t |j d� d� � }t | j ||� | j D ]; }| j j j j j# |� �= |j$ S )
Nr �lexers�
formatters�filters�lexers_overviewz,invalid argument for "pygmentsdoc" directive�
� )�source)�set� filenames� arguments�document_lexers�document_formatters�document_filters�document_lexers_overview� Exceptionr �compoundr �splitr �state�document�settings�record_dependencies�add�children)�self�out�node�vl�fns �4/usr/lib/python3/dist-packages/pygments/sphinxext.py�runzPygmentsDoc.runE s � ������>�>�!���(��&�&�(�C�
�^�^�A�
�,�
.��*�*�,�C�
�^�^�A�
�)�
+��'�'�)�C�
�^�^�A�
�"3�
3��/�/�1�C��J�K�K��~�~���
�c�i�i��o�b�
1�� ����R��6��.�.� E�B��J�J���(�(�<�<�@�@��D� E��}�}�� c
� ��� ddl m} ddl}g }g }d� }t |j � d� �� D ]� \ }}|j
j
|d � }|j |j z } |j ||d |j � dj | � j d d
� j dd� xs d
dj |d � |d � d|� �d�� �� g d�}
|
D ��cg c]- }t |D �cg c] }|| s� t || � �� c}� ��/ c}}��fd����fd�}
|j |
� � |j �dddd� � |j |
� � |D ], }|j �|d |d |d d|d � d�� � �. |j |
� � dj |� S c c}w c c}}w )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 � � |r d| � d|� d�S | S )N�`z <z>`_� )�name�urls r' |