
    ZOg              	           S r SSKrSSKrSSKrSSKJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJr  S\R(                  \   S\S\4S jrS	\S\4S
 jr\R0                  S4S\S\S\S\4S jjrg)zReST-style docstring parsing.    N   )DEPRECATION_KEYWORDSPARAM_KEYWORDSRAISES_KEYWORDSRETURNS_KEYWORDSYIELDS_KEYWORDS	DocstringDocstringDeprecatedDocstringMetaDocstringParamDocstringRaisesDocstringReturnsDocstringStyle
ParseErrorRenderingStyleargsdescreturnc           	          U S   nU[         ;   a  [        U 5      S:X  a&  U u  p#nUR                  S5      (       a  SnUS S nO5SnO2[        U 5      S:X  a	  U u  p$S nS nO[        SR	                  U5      5      e[
        R                  " S	U[
        R                  S
9nU(       a   UR                  S5      R                  S5      OS n[        U UUUUUS9$ U[        [        -  ;   aT  [        U 5      S:X  a  U S   nO,[        U 5      S:X  a  S nO[        SR	                  U5      5      e[        U UUU[        ;   S9$ U[        ;   aa  [
        R                  " SU[
        R                   S
9n[#        U U(       a  UR                  S5      OS U(       a  UR                  S5      S9$ US9$ U[$        ;   aK  [        U 5      S:X  a  U S   nO,[        U 5      S:X  a  S nO[        SR	                  U5      5      e['        XUS9$ [)        XS9$ )Nr      ?TF   z/Expected one or two arguments for a {} keyword.z.*defaults to (.+)flagsr   .)r   descriptionarg_name	type_nameis_optionaldefaultz.Expected one or no arguments for a {} keyword.)r   r   r   is_generatorz7^(?P<version>v?((?:\d+)(?:\.[0-9a-z\.]+))) (?P<desc>.+)versionr   )r   r#   r   )r   r   r   )r   r   )r   lenendswithr   formatrematchDOTALLgrouprstripr   r   r   r   r   searchIr
   r   r   r   )r   r   keyr   r   r    r(   r!   s           Z/Users/admin/workspace/ai/Jarvis/env/lib/python3.13/site-packages/docstring_parser/rest.py_build_metar0      s   
q'C
nt9>'+$CH!!#&&"%crN	#Y!^ MCIKAHHM  .BIIF05%++a.'',4#
 	
 00t9>QIY!^I@GGL   /	
 	
 ""		F$$

 #.3EKK	*/4F+
 	
 ;?
 	
 ot9>QIY!^I@GGL  9
 	
 d55    textc                 v   [        [        R                  S9nU (       d  U$ [        R                  " U 5      n [
        R                  " SU [
        R                  S9nU(       a&  U SUR                  5        nXR                  5       S nOU nSnUR                  SS5      nUS   =(       d    SUl
        [        U5      S:  aX  US   =(       d    SnUR                  S5      Ul        UR                  S	5      Ul        UR!                  5       =(       d    SUl        0 n0 n[
        R$                  " S
U[
        R&                  [
        R                  -  S9 GH  nUR)                  S5      n	U	(       d  M   U	R+                  S5      R                  SS5      u  pU
R                  5       nUR!                  5       nSU;   a0  UR                  SS5      u  pUS-   [        R                  " U5      -   n[        U5      S:X  a  US   S:X  a	  XUS   '   M  [        U5      S;   a#  US   S:X  a  X[        U5      S:X  a  SOUS   '   M  UR2                  R5                  [7        X5      5        GM     UR2                   H  n[9        U[:        5      (       a5  UR<                  =(       d    UR?                  UR@                  5      Ul        MM  [9        U[B        5      (       d  Md  UR<                  =(       d    UR?                  URD                  5      Ul        M     U$ ! [,         a   n[/        SR1                  U	5      5      UeSnAff = f)zPParse the ReST-style docstring into its components.

:returns: parsed docstring
)stylez^:r   N 
r   r   z

z(^:.*?)(?=^:|\Z):z)Error parsing meta information near "{}".r   type)r   r   rtype)#r	   r   RESTinspectcleandocr'   r,   Mstartsplitshort_descriptionr$   
startswithblank_after_short_descriptionr%   blank_after_long_descriptionstriplong_descriptionfinditerSr*   lstrip
ValueErrorr   r&   metaappendr0   
isinstancer   r   getr   r   return_name)r2   retr(   
desc_chunk
meta_chunkpartslong_desc_chunktypesrtypeschunk
args_chunkexr   r   
first_linerestrJ   s                    r/   parser[   f   s   
 .--
.C
D!DIIdD-E/EKKM*
++-/*


T1%E!!H,C
5zA~(.b,;,F,Ft,L)+:+C+CF+K(.446>$EFZrttbdd{ A	%*\\#%6%<%<S!%D"J
 !!4<#zz$2J$w'7'7'==D t9>d1g/!$q'NY& T!W%7:>3t9>4tAw7HHOOK3436 dN++!^^Guyy/GDN.//!^^Kvzz$:J:J/KDN	  J3  	;BB5I	s   0#L
L8L33L8z    	docstringrendering_styleindentc           	         ^^ S[         R                  [           S[        4UU4S jjn/ nU R                  (       a  UR	                  U R                  5        U R
                  (       a  UR	                  S5        U R                  (       a  UR	                  U R                  5        U R                  (       a  UR	                  S5        U R                   GH  n[        U[        5      (       a  UR                  (       a2  UR                  (       a  SUR                   S3OSUR                   S3nOSnT[        R                  :X  ag  SUR                   S3nXs" UR                   5      -  nUR	                  U5        US	S
 (       a&  UR	                  SUR                   SUS	S
  35        M  M  SU UR                   S3nXs" UR                   5      -  nUR	                  U5        GM  [        U["        5      (       a  UR                  (       a  SUR                   3OSnUR$                  (       a  SOSnT[        R                  :X  aL  SU S3nXs" UR                   5      -  nUR	                  U5        U(       a  UR	                  SU 35        GM  GM  SU U S3nXs" UR                   5      -  nUR	                  U5        GM  [        U[&        5      (       aP  UR                  (       a  SUR                   S3OSnSU S3U" UR                   5      -   nUR	                  U5        GMT  SSR)                  UR*                  5       S3U" UR                   5      -   nUR	                  U5        GM     SR)                  U5      $ )zRender a parsed docstring into docstring text.

:param docstring: parsed docstring representation
:param rendering_style: the style to render docstrings
:param indent: the characters used as indentation in the docstring string
:returns: docstring text
r   r   c                 |  > U (       d  gT[         R                  :X  a=  U R                  5       tpSR                  SU-   /U Vs/ s H  nTU-   PM
     sn-   5      $ T[         R                  :X  a@  U R                  5       tpSR                  ST-   U-   /U Vs/ s H  nTU-   PM
     sn-   5      $ SU -   $ s  snf s  snf )Nr5   r6    )r   CLEAN
splitlinesjoinEXPANDED)r   firstrZ   liner^   r]   s       r/   process_desccompose.<locals>.process_desc   s    n222!__.NU99cEk]-Mftm-MMNNn555!__.NU99&'T*JTT6D=T*JJ  Tz .N
 +Ks   B4
B9
r5   ra   z? z:param r7   Nr   z:type z:paramyieldsreturnsz:rtype:z:raisesr6   )TOptionalstrr@   rK   rB   rE   rC   rJ   rL   r   r   r    r   re   r   r   r   r"   r   rd   r   )	r\   r]   r^   rh   rR   rJ   	type_textr2   r.   s	    ``      r/   composerp      s   1::c? s    E""Y001..R!!Y//0--RdN++~~ '' 'r*T^^,A.   	."9"99 q1T%5%566T"Sb>LL6$--)CR.9I!JK "  	{4==/;T%5%566T".//04!DNN+,BI"//(YC."9"993%qzT%5%566T"LL79+!67  3%	{!,T%5%566T"o..15!DNN+1-RIYKq)L9I9I,JJDLLsxx		*+1-T=M=M0NNDLLQ R 99Ur1   )__doc__r;   r'   typingrl   commonr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   Listrn   r0   r[   COMPACTrp    r1   r/   <module>rw      s    #  	    $J6affSk J6 J6 J6Z= =	 =D '5&<&<PP#P P 		Pr1   