
    eg                     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-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 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        {/var/www/html/FastMealFinder_FlaskServer-InitialRelease/venv/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.pyrunzPygmentsDoc.runE   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_linkc   s    4&3%s++Kr)   c                 .    | d   d   j                         S )Nr	   )lowerxs    r'   <lambda>z6PygmentsDoc.document_lexers_overview.<locals>.<lambda>h   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#   lccolumn_lengthss       r'   	write_rowz7PygmentsDoc.document_lexers_overview.<locals>.write_roww   sY    CNG4 &1JJqwwqz*JJs1u%	& 88C= r)   c                  <    D  cg c]  } d| z  	 }}  | S c c} w )zWrite a table separator row=r0   )rN   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rowrT   rO   rP   s                 @@r'   r   z$PygmentsDoc.document_lexers_overviewX   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           
         ddl m} g }i }i }t        |j                         d       D ]R  \  }}|d   }t	        |d d |g      }| j
                  j                  |j                         t        ||      }	|	j                  st        d|z         |	j                  }
t        |
t              r|
j                  d      }
|j                  |g       j                  |dj!                  |d         xs d	dj!                  |d
         j#                  dd      j#                  dd      xs d	dj!                  |d         xs d	|
f       ||vs!|j                  }t        |t              r|j                  d      }|||<   U t        |j                         d       D ]  \  }}||   t%        d|      ||   j'                         d   j)                         j+                  d      }|j                  t,        ||dt/        |      z  fz         |D ]  }|j                  t0        |z           dj!                  |      S )Nr   r+   c                     | d   S Nr   r0   r6   s    r'   r8   z-PygmentsDoc.document_lexers.<locals>.<lambda>   
    AaD r)   r9   z&Warning: %s does not have a docstring.utf8r;   rA   r@      r<   r=   r>   r?      c                     | d   S rg   r0   r6   s    r'   r8   z-PygmentsDoc.document_lexers.<locals>.<lambda>   rh   r)   zMissing docstring for rB   -r   )rV   r,   rX   rY   
__import__r   r    __file__getattr__doc__print
isinstancebytesdecode
setdefaultrI   rK   r[   r   
splitlinesstriprstrip	MODULEDOCr]   LEXERDOC)r"   r,   r#   modulesmoduledocstringsr_   r`   modulemodcls	docstringmoddocr   headings                 r'   r   zPygmentsDoc.document_lexers   s   ?%flln.I 	2OIt!WFVT4)=CNNs||,#y)C;;>JKI)U+%,,V4	vr*11		$q'",f		$q'"**36>>sDISV		$q'",f3  --fe,#]]62F+1 ()	2, %W]]_.I 	,NFF'/f FGG&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 rg   r0   r6   s    r'   r8   z1PygmentsDoc.document_formatters.<locals>.<lambda>   s
    ! r)   r9   ri   r;   rA   r@   rj   r<   r=   r   )pip._vendor.pygments.formattersr   rX   rY   rn   r   r    ro   rp   rq   rs   rt   ru   __name__rI   FMTERDOCrK   r[   )
r"   r   r#   r_   r`   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   )FILTERSri   r   )pip._vendor.pygments.filtersr   rY   r   r    sysr|   
__module__ro   rq   rs   rt   ru   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__rq   has_contentrequired_argumentsoptional_argumentsfinal_argument_whitespaceoption_specr(   r   r   r   r   r0   r)   r'   r   r   :   s@     K %K&:x#J$
r)   r   c                 0    | j                  dt               y )Npygmentsdoc)add_directiver   )apps    r'   setupr      s    m[1r)   )rq   r   docutilsr   docutils.statemachiner   docutils.parsers.rstr   sphinx.util.nodesr   rz   r{   r   r   r   r   r0   r)   r'   <module>r      sK   	   * * 6			[) [|2r)   