
    L&i                     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-2022 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                   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        _/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/sphinxext.pyrunzPygmentsDoc.runE   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_linkc   s(     ,+4++3++++Kr)   c                 B    | d         d                                          S )Nr	   )lowerxs    r'   <lambda>z6PygmentsDoc.document_lexers_overview.<locals>.<lambda>h   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>t   s.    PPPCCKPs3v;//PPPr)   )max)rH   rJ   tables    @r'   rK   z8PygmentsDoc.document_lexers_overview.<locals>.<listcomp>t   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#   lccolumn_lengthss       r'   	write_rowz7PygmentsDoc.document_lexers_overview.<locals>.write_roww   su    CNG44 & &1 &JJqwwqzz****JJs1u%%%%88C== r)   c                  &    d D             }  |  S )zWrite a table separator rowc                     g | ]}d |z  S )=r/   )rH   rV   s     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_overviewX   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} g }i }i }t          |                                d           D ]{\  }}|d         }t	          |d d |g          }| j                            |j                   t          ||          }	|	j	        st          d|z             |	j	        }
t          |
t                    r|
                    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          }|||<   }t          |                                d           D ]\  }}||         t%          d|          ||                                         d                                                             d          }|                    t,          ||dt/          |          z  fz             |D ]}|                    t0          |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: %s does not have a docstring.utf8r:   r@   r?      r;   r<   r=   r>      c                     | d         S rm   r/   r5   s    r'   r7   z-PygmentsDoc.document_lexers.<locals>.<lambda>   rn   r)   zMissing docstring for rA   -r   )r_   r,   ra   rb   
__import__r   r    __file__getattr__doc__print
isinstancebytesdecode
setdefaultrQ   rS   re   r   
splitlinesstriprstrip	MODULEDOCrG   LEXERDOC)r"   r,   r#   modulesmoduledocstringsrg   rh   modulemodcls	docstring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; L>JKKKI)U++ 5%,,V44	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'/iff FGGG&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 rm   r/   r5   s    r'   r7   z1PygmentsDoc.document_formatters.<locals>.<lambda>   s
    ! r)   r8   ro   r:   r@   r?   rp   r;   r<   r   )pygments.formattersr   ra   rb   rt   r   r    ru   rv   rw   ry   rz   r{   __name__rQ   FMTERDOCrS   re   )
r"   r   r#   rg   rh   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   )FILTERSro   r   )pygments.filtersr   rb   r   r    sysr   
__module__ru   rw   ry   rz   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__rw   has_contentrequired_argumentsoptional_argumentsfinal_argument_whitespaceoption_specr(   r   r   r   r   r/   r)   r'   r   r   :   s          K %K  &: : :x# # #J  $
 
 
 
 
r)   r   c                 <    |                      dt                     d S )Npygmentsdoc)add_directiver   )apps    r'   setupr      s    m[11111r)   )rw   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			[ [ [ [ [) [ [ [|2 2 2 2 2r)   