
    )h-                     l    d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	 dZ
dZd	Zd
Z G d de      Zd Zy)a  
    pygments.sphinxext
    ~~~~~~~~~~~~~~~~~~

    Sphinx extension to generate automatic documentation of lexers,
    formatters and filters.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)nodes)ViewList)	Directive)nested_parse_with_titlesz
.. module:: %s

%s
%s
z`
.. class:: %s

    :Short names: %s
    :Filenames:   %s
    :MIME types:  %s

    %s

    %s

zA
.. class:: %s

    :Short names: %s
    :Filenames: %s

    %s

z'
.. class:: %s

    :Name: %s

    %s

c                   B    e Zd ZdZdZdZdZdZi Zd Z	d Z
d Zd Zd	 Zy
)PygmentsDoczn
    A directive to collect all lexers/formatters/filters and generate
    autoclass directives for them.
    F   r   c                    t               | _        | j                  d   dk(  r| j                         }nt| j                  d   dk(  r| j	                         }nQ| j                  d   dk(  r| j                         }n.| j                  d   dk(  r| j                         }nt        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        Q/var/www/html/venv/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.pyrunzPygmentsDoc.runG   s   >>!(&&(C^^A,.**,C^^A)+'')C^^A"33//1CJKK~~ciiob1 R6.. 	EBJJ((<<@@D	E}}    c                    ddl m} ddlm} g }g }d }t	        |j                         d       D ]  \  }} ||d         }|j                  |j                  z   }	|j                   ||d   |j                        dj                  |	      j                  d	d
      j                  dd      xs ddj                  |d         |d    d| d        g d}
|
D cg c]-  }t        |D cg c]  }||   s	t        ||          c}      / c}}fdfd}|j                   |              |j                   dddd             |j                   |              |D ],  }|j                   |d   |d   |d   d|d    d             . |j                   |              dj                  |      S c c}w c c}}w )zGenerate 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   LEXERS)find_lexer_classc                     |r	d|  d| dS | S )N`z <z>`_ )nameurls     r'   format_linkz9PygmentsDoc.document_lexers_overview.<locals>.format_linke   s    4&3%s++Kr)   c                 .    | d   d   j                         S )Nr	   )lowerxs    r'   <lambda>z6PygmentsDoc.document_lexers_overview.<locals>.<lambda>j   s    AaDGMMO r)   keyr	   , *\*_\None   .)r1   
extensionsaliasesclassc                      g }t        |       D ]<  \  }}|r!|j                  |j                  |             )|j                  d|z         > dj                  |      S )zFormat a table row )zipappendljustjoin)columnsr#   lengthcolcolumn_lengthss       r'   	write_rowz7PygmentsDoc.document_lexers_overview.<locals>.write_rowy   sZ    C">7; +JJsyy01JJs6z*	+ 88C= r)   c                  <    D  cg c]  } d| z  	 }}  | S c c} w )zWrite a table separator row=r0   )cseprO   rP   s     r'   write_seperatorz=PygmentsDoc.document_lexers_overview.<locals>.write_seperator   s)    "01Q3q51C1c?" 2s   NamezExtension(s)zShort name(s)zLexer classr1   rC   rD   z	:class:`~rE   r/   r   )$pip._vendor.pygments.lexers._mappingr,   pip._vendor.pygments.lexersr-   sorteditemsr   alias_filenamesrI   r2   rK   replacemaxlen)r"   r,   r-   r#   tabler3   	classnamedata	lexer_clsrC   column_namescolumnrowrU   rO   rP   s                 @@r'   r   z$PygmentsDoc.document_lexers_overviewZ   s   
 	@@	
  &flln:ST 		OIt(a1I",,y/H/HHJLL#DGY]];"ii
3;;CGOOPSUYZd^d99T!W- G9Ai[1	 			 B(46$ 5PCCKs3v;/PQ 6		!	#
 	

?$%

9V^_mTU

?$% 	.CJJyFL!ICL>+	- .	. 	

?$%yy~= Q 6s   G,
F=7F=	G=Gc           
      0   ddl m} ddlm} dd l}dd l}g }i }i }t        |j                         d       D ]  \  }}	|	d   }
t        |
d d |g      }| j                  j                  |j                         t        ||      }|j                  st        d| d       |j                  }t        |t               r|j#                  d      }t        |d	d       }|r|j%                  |j'                  |            j(                  j(                  d
z  dz  |z  }|j+                  d      }|st-        d| d|       |	d   r4|	d   d   }|dz  }|d| dz  }|j/                         D ]  }|d| dz  } |j0                  rd|j0                   }nd}|j3                  |
g       j5                  |dj7                  |	d         xs ddj7                  |	d         j9                  dd      j9                  dd      xs ddj7                  |	d         xs d||f       |
|vs|j                  }t        |t               r|j#                  d      }|||
<    t        |j                         d        D ]  \  }
}||
   t-        d!|
       ||
   j/                         d   j;                         j=                  d"      }|j5                  t>        |
|d#tA        |      z  fz         |D ]  }	|j5                  tB        |	z           dj7                  |      S )$Nr   r+   )pygmentsc                     | d   S Nr   r0   r6   s    r'   r8   z-PygmentsDoc.document_lexers.<locals>.<lambda>   
    AaD r)   r9   z	Warning: z does not have a docstring.utf8_exampletestsexamplefileszutf-8)encodingzEmpty example file 'z' for lexer rA   z

    .. admonition:: Example
z
      .. code-block:: z

z
          r   z.. versionadded:: r   r;   r@      r<   r=   r>   r?      c                     | d   S ri   r0   r6   s    r'   r8   z-PygmentsDoc.document_lexers.<locals>.<lambda>   rj   r)   zMissing docstring for rB   -)"rW   r,   pip._vendorrg   inspectpathlibrY   rZ   
__import__r   r    __file__getattr__doc__print
isinstancebytesdecodePath
getabsfileparent	read_textr   
splitlinesversion_added
setdefaultrI   rK   r\   striprstrip	MODULEDOCr^   LEXERDOC)r"   r,   rg   ru   rv   r#   modulesmoduledocstringsr`   ra   modulemodcls	docstringexample_filepcontent
lexer_namelineversion_linemoddocr   headings                          r'   r   zPygmentsDoc.document_lexers   s2   ?(%flln.I ,	2OIt!WFVT4)=CNNs||,#y)C;;	),GHII)U+%,,V4	"3
D9LLL!3!3H!=>EELL,-/;<++w+7#.|nL$+'( ( 7!%aJ!DDI#;J<t!LLI ' 2 2 4 ;!z$r%::	;   !3C4E4E3FG!vr*11		$q'",f		$q'"**36>>sDISV		$q'",f3  --fe,#]]62F+1 (Y,	2\ %W]]_.I 	,NFF'/"8 ABB&v.99;A>DDFMMcRGJJyFGSW5E#FFG ,

8d?+,	, wws|r)   c           
      (   ddl m} g }t        |j                         d       D ]  \  }}|d   }t	        |d d |g      }| j
                  j                  |j                         t        ||      }|j                  }t        |t              r|j                  d      }|j                  }	|j                  t        |	dj!                  |d         xs ddj!                  |d	         j#                  d
d      xs d|fz          dj!                  |      S )Nr   )
FORMATTERSc                     | d   S ri   r0   r6   s    r'   r8   z1PygmentsDoc.document_formatters.<locals>.<lambda>   s
    ! r)   r9   rk   r;   rA   r@   rp   r<   r=   r   )pip._vendor.pygments.formattersr   rY   rZ   rw   r   r    rx   ry   rz   r|   r}   r~   __name__rI   FMTERDOCrK   r\   )
r"   r   r#   r`   ra   r   r   r   r   r   s
             r'   r   zPygmentsDoc.document_formatters   s    >%j&6&6&8nM 	/OIt!WFVT4)=CNNs||,#y)CI)U+%,,V4	llGJJx7DIId1g,>,H&#'99T!W#5#=#=c5#I#SV#,#. . /	/ wws|r)   c                    ddl m} g }|j                         D ]  \  }}| j                  j	                  t
        j                  |j                     j                         |j                  }t        |t              r|j                  d      }|j                  t        |j                  ||fz          dj!                  |      S )Nr   )FILTERSrk   r   )pip._vendor.pygments.filtersr   rZ   r   r    sysr   
__module__rx   rz   r|   r}   r~   rI   	FILTERDOCr   rK   )r"   r   r#   r1   r   r   s         r'   r   zPygmentsDoc.document_filters   s    8  	DID#NNs{{3>>:CCDI)U+%,,V4	JJyCLL$	#BBC	D wws|r)   N)r   r   __qualname__rz   has_contentrequired_argumentsoptional_argumentsfinal_argument_whitespaceoption_specr(   r   r   r   r   r0   r)   r'   r   r   <   s@     K %K&:x?B$
r)   r   c                 0    | j                  dt               y )Npygmentsdoc)add_directiver   )apps    r'   setupr      s    m[1r)   )rz   r   docutilsr   docutils.statemachiner   docutils.parsers.rstr   sphinx.util.nodesr   r   r   r   r   r   r   r0   r)   r'   <module>r      sK   	   * * 6		w) wt2r)   