
    Mh                     t    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dS )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                   D    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d
S )PygmentsDoczn
    A directive to collect all lexers/formatters/filters and generate
    autoclass directives for them.
    F   r   c                    t                      | _        | j        d         dk    r|                                 }n| j        d         dk    r|                                 }n[| j        d         dk    r|                                 }n5| j        d         dk    r|                                 }nt          d          t          j	                    }t          |                    d          d	          }t          | j        ||           | j        D ]+}| 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        R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/sphinxext.pyrunzPygmentsDoc.runG   s+   >!((&&((CC^A,..**,,CC^A)++''))CC^A"333//11CCJKKK~ciioob111 R666. 	E 	EBJ(<@@DDDD}    c                    ddl m} ddl}g }g d }t          |                                d           D ]\  }}|j                            |d                   }|j        |j        z   }	                     ||d         |j
                  d                    |                              d	d
                              dd          pdd                    |d                   |d          d| d           g d}	fd|	D             fdfd}
|	                     |
                       |	                     dddd                     |	                     |
                       D ]?}|	                     |d         |d         |d         d|d          d                     @|	                     |
                       d                    |          S )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   LEXERSNc                     |r	d|  d| dS | S )N`z <z>`_ )nameurls     r'   format_linkz9PygmentsDoc.document_lexers_overview.<locals>.format_linke   s(     ,+4++3++++Kr)   c                 B    | d         d                                          S )Nr	   )lowerxs    r'   <lambda>z6PygmentsDoc.document_lexers_overview.<locals>.<lambda>j   s    AaDGMMOO r)   keyr	   , *\*_\None   .)r0   
extensionsaliasesclassc                 H    g | ]t          fd D                       S )c                 J    g | ]}|         
t          |                    S r/   )len).0rowcolumns     r'   
<listcomp>zCPygmentsDoc.document_lexers_overview.<locals>.<listcomp>.<listcomp>v   s.    PPPCCKPs3v;//PPPr)   )max)rH   rJ   tables    @r'   rK   z8PygmentsDoc.document_lexers_overview.<locals>.<listcomp>v   sG     6 6 6$ PPPP5PPPQQ 6 6 6r)   c                      g }t          |           D ]H\  }}|r)|                    |                    |                     0|                    d|z             Id                    |          S )zFormat a table row )zipappendljustjoin)columnsr#   lengthcolcolumn_lengthss       r'   	write_rowz7PygmentsDoc.document_lexers_overview.<locals>.write_rowy   sw    C">7;; + + +JJsyy001111JJs6z****88C== r)   c                  &    d D             }  |  S )zWrite a table separator rowc                     g | ]}d |z  S )=r/   )rH   cs     r'   rK   zQPygmentsDoc.document_lexers_overview.<locals>.write_seperator.<locals>.<listcomp>   s    111Q3q5111r)   r/   )seprW   rX   s    r'   write_seperatorz=PygmentsDoc.document_lexers_overview.<locals>.write_seperator   s"    11.111C9c?"r)   NamezExtension(s)zShort name(s)zLexer classr0   rB   rC   z	:class:`~rD   r.   r   )pygments.lexers._mappingr,   pygments.lexerssorteditemsr   find_lexer_classr   alias_filenamesrQ   r1   rS   replace)r"   r,   pygmentsr#   r2   	classnamedata	lexer_clsrB   column_namesr^   rI   rW   rM   rX   s               @@@r'   r   z$PygmentsDoc.document_lexers_overviewZ   s   
 	433333	 	 	
  &fllnn:S:STTT 		 		OIt 88aAAI",y/HHJLL#DGY];;"ii
33;;CGGOOPSUYZZd^d99T!W-- G11i11	      BAA6 6 6 6(46 6 6		! 		! 		! 		! 		!	# 	# 	# 	# 	# 	#
 	

??$$%%%

99V^_mTTUUU

??$$%%% 	. 	.CJJyyFL!I+CL+++	- - . . . .
 	

??$$%%%yy~~r)   c           
         ddl m} dd l}dd l}dd l}g }i }i }t          |                                d           D ]P\  }}	|	d         }
t          |
d d |g          }| j        	                    |j
                   t          ||          }|j        st          d| d           |j        }t          |t                    r|                    d          }t          |dd           }|r|                    |                    |                    j        j        d	z  d
z  |z  }|                    d          }|st+          d| d|           |	d         r<|	d         d         }|dz  }|d| dz  }|                                D ]}|d| dz  }|j        rd|j         }nd}|                    |
g                               |d                    |	d                   pdd                    |	d                                       dd                              dd          pdd                    |	d                   pd||f           |
|vr6|j        }t          |t                    r|                    d          }|||
<   Rt          |                                d           D ]\  }
}||
         t+          d |
           ||
                                         d                                                             d!          }|                    t<          |
|d"t?          |          z  fz             |D ]}	|                    t@          |	z              d                    |          S )#Nr   r+   c                     | d         S Nr   r/   r5   s    r'   r7   z-PygmentsDoc.document_lexers.<locals>.<lambda>   
    AaD r)   r8   z	Warning: z does not have a docstring.utf8_exampletestsexamplefileszutf-8)encodingzEmpty example file 'z' for lexer r@   z

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

z
          r   z.. versionadded:: r   r:   r?      r;   r<   r=   r>      c                     | d         S rn   r/   r5   s    r'   r7   z-PygmentsDoc.document_lexers.<locals>.<lambda>   ro   r)   zMissing docstring for rA   -)!r`   r,   rg   inspectpathlibrb   rc   
__import__r   r    __file__getattr__doc__print
isinstancebytesdecodePath
getabsfileparent	read_textr   
splitlinesversion_added
setdefaultrQ   rS   rf   striprstrip	MODULEDOCrG   LEXERDOC)r"   r,   rg   ry   rz   r#   modulesmoduledocstringsrh   ri   modulemodcls	docstringexample_filepcontent
lexer_namelineversion_linemoddocr   headings                          r'   r   zPygmentsDoc.document_lexers   s   333333%fllnn..III ,	2 ,	2OIt!WFVT4)==CNs|,,,#y))C; JH)HHHIIII)U++ 5%,,V44	"3
D99L ;LL!3!3H!=!=>>EL,-/;<++w+77 (#'| ' '$' '( ( ( 7 ;!%aJ!DDI!LJ!L!L!LLI ' 2 2 4 4 ; ;!%:$%:%:%::		  "GC4EGG!vr**11		$q'"",f		$q'""**366>>sDIISV		$q'"",f3    ---fe,, 3#]]622F+1 ($W]]__..III 	, 	,NFF'/ A A ABBB&v.99;;A>DDFFMMcRRGJJyFGSW5E#FFGGG , ,

8d?++++, wws||r)   c           
      j   ddl m} g }t          |                                d           D ]\  }}|d         }t	          |d d |g          }| j                            |j                   t          ||          }|j	        }t          |t                    r|                    d          }|j        }	|                    t          |	d                    |d                   pdd                    |d	                                       d
d          pd|fz             d                    |          S )Nr   )
FORMATTERSc                     | d         S rn   r/   r5   s    r'   r7   z1PygmentsDoc.document_formatters.<locals>.<lambda>   s
    ! r)   r8   rp   r:   r@   r?   ru   r;   r<   r   )pygments.formattersr   rb   rc   r{   r   r    r|   r}   r~   r   r   r   __name__rQ   FMTERDOCrS   rf   )
r"   r   r#   rh   ri   r   r   r   r   r   s
             r'   r   zPygmentsDoc.document_formatters   s<   222222%j&6&6&8&8nnMMM 	/ 	/OIt!WFVT4)==CNs|,,,#y))CI)U++ 5%,,V44	lGJJx7DIId1g,>,>,H&#'99T!W#5#5#=#=c5#I#I#SV#,#. . / / / / wws||r)   c                    ddl m} g }|                                D ]\  }}| j                            t
          j        |j                 j                   |j	        }t          |t                    r|                    d          }|                    t          |j        ||fz             d                    |          S )Nr   )FILTERSrp   r   )pygments.filtersr   rc   r   r    sysr   
__module__r|   r~   r   r   r   rQ   	FILTERDOCr   rS   )r"   r   r#   r0   r   r   s         r'   r   zPygmentsDoc.document_filters   s    ,,,,,,  	D 	DID#Ns{3>:CDDDI)U++ 5%,,V44	JJyCL$	#BBCCCCwws||r)   N)r   r   __qualname__r~   has_contentrequired_argumentsoptional_argumentsfinal_argument_whitespaceoption_specr(   r   r   r   r   r/   r)   r'   r   r   <   s          K %K  &: : :x? ? ?B  $
 
 
 
 
r)   r   c                 <    |                      dt                     d S )Npygmentsdoc)add_directiver   )apps    r'   setupr      s    m[11111r)   )r~   r   docutilsr   docutils.statemachiner   docutils.parsers.rstr   sphinx.util.nodesr   r   r   r   r   r   r   r/   r)   r'   <module>r      s   	 	 


       * * * * * * * * * * * * 6 6 6 6 6 6		w w w w w) w w wt2 2 2 2 2r)   