
    Ki                       d Z ddlmZ dZddlmZ ddlmZ 	 ddlmZ 	 ddlZddlmZ ej*                  dk  r e	d      d Z G d de      Zy# e	$ rk ddl
Z
ddlZ G d d	ej                  ej                        Z ej                  d
      xe
j                   d
<   Z ej"                         xe_        Zee_        Y w xY w# e	$ rZ e	d      edZ[ww xY w)u^  
A parser for CommonMark Markdown text using `recommonmark`__.

__ https://pypi.org/project/recommonmark/

.. important:: This module is deprecated.

   * The "recommonmark" package is unmaintained and deprecated.
     This wrapper module will be removed in Docutils 1.0.

   * The API is not settled and may change with any minor Docutils version.
    )annotationsreStructuredText)	Component)nodes)addnodesNc                      e Zd Zy)pending_xrefN)__name__
__module____qualname__     q/home/jay/workspace/scripts/.codegraph-venv/lib/python3.12/site-packages/docutils/parsers/recommonmark_wrapper.pyr	   r	   *   s    r   r	   sphinx)CommonMarkParserz0.6.0z^The installed version of "recommonmark" is too old. Update with "pip install -U recommonmark".zeParsing "recommonmark" Markdown flavour requires the
  package https://pypi.org/project/recommonmark.c                V    t        | t        j                  t        j                  f      S N)
isinstancer   literalliteral_block)nodes    r   
is_literalr   ?   s    dU]]E,?,?@AAr   c                  N     e Zd ZdZdZ	 dZdZd Zd Zd
 fdZ	d
dZ
d
d	Z xZS )ParserzMarkDown parser based on recommonmark.

    This parser is provisional:
    the API is not settled and may change with any minor Docutils version.
    )recommonmark
commonmarkmarkdownmdzrecommonmark parser)parsersc                ,    t        j                  |       S r   )r   get_transforms)selfs    r   r!   zParser.get_transformsO   s    ''--r   c                   t        |j                  d            D ][  \  }}t        |      |j                  j                  kD  s)|j
                  j                  d|dz   z        }|j                  |        y 	 t        j                  | ||       y# t        $ rQ}|j                  j                  r||j
                  j                  d|z        }|j                  |       Y d}~yd}~ww xY w)zpWrapper of upstream method.

        Ensure "line-length-limt". Report errors with `document.reporter`.
        
z&Line %d exceeds the line-length-limit.   Nz2Parsing with "recommonmark" returned the error:
%s)	enumeratesplitlensettingsline_length_limitreportererrorappendr   parse	Exception	traceback)r"   inputstringdocumentiliner,   errs          r   r.   zParser.parseR   s     !!2!24!89 	GAt4y8,,>>> ))//<acBD&		#""4h? 	#  **	%%++ -FFI-J KEOOE""	#s   :B 	C,AC''C,c                   | j                   }|j                  t        j                        D ]  }|j                  }d}|dz   t        |      k  s#t        ||   t        j                        r[t        ||dz      t        j                        r;t        j                  ||   |j                  |dz         z         ||<   |||   _	        n|dz  }|dz   t        |      k  r |j                  t        j                        D ])  }t        |      r|j                  j                  |       + |j                  t              D ]  }d|d   vs|d   j                  d         |j                  t        j                        D ]+  }d|j                  v s|d   j                  |d          |d= - |j                  j                   s|j                  t        j"                        D ]  }|j$                  j'                  d      }t        |j                  t        j                        r|j)                  |      }t        j*                  d|j-                         |      }|j                  j/                  ||       |j)                  |      }|j1                  |       |j                  |       |j                  j/                  ||        |j                  t2        j4                        D ]W  }|j                  d   }	d	|	vr&t        j6                  |	j-                               |	d	<   |j                  j/                  ||	       Y t8        
| u          y
)z7Finalize parse details.  Call at end of `self.parse()`.r   r%   codeclasseslanguagezRaw content disabled. )refidnameN)r2   findallr   TextElementchildrenr(   r   Textpopparentremover   r-   r   
attributesr)   raw_enabledrawr+   warningset_idproblematicastextreplaceadd_backrefr   r	   fully_normalize_namesuperfinish_parse)r"   r2   r   r?   r3   messagemsgidrI   prbid	reference	__class__s             r   rO   zParser.finish_parsel   s    == $$U%6%67 		D}}HAA#H%x{EJJ7"8AaC=%**="'**Xa[ac9J-J"KHQK)-HQK&FA A#H%		 $$UZZ0 	)Dt9""4(	)
 $$Z0 	/DT)_,Y&&v.	/ $$U%8%89 	%DT__,Y&&tJ'78$	%   ,, ((3 7"++334KLdkk5+<+<=$OOG4E"'"3"3B:?#AKKK''k:$OOK8E''.OOG,KK''g67 $$X%:%:; 	1Da(IY&$)$>$>4=4D4D4F%H	&!KKi0	1 	r   c                     y)zyDummy function to prevent spurious warnings.

        cf. https://github.com/readthedocs/recommonmark/issues/177
        Nr   )r"   r   s     r   visit_documentzParser.visit_document   s    r   c                t    | j                   j                  t        j                  |j                               y r   )current_noder-   r   r@   r   )r"   mdnodes     r   
visit_textzParser.visit_text   s#      FNN!;<r   )returnNone)r
   r   r   __doc__	supportedconfig_sectionconfig_section_dependenciesr!   r.   rO   rV   rZ   __classcell__)rT   s   @r   r   r   C   s8    
 AI'*N"..#47r=r   r   )r]   
__future__r   __docformat__docutilsr   r   r   r   ImportErrorsystypesInlineElementr	   
ModuleTypemodulesSimpleNamespacer   recommonmark.parserr   __version__r5   r   r   r   r   r   <module>ro      s    #"  )I4 ') H I 	I
Bk= k==  
)u||U]]  &6U%5%5h%??CKKF!6!6!6!88FOh(H
)  
	; s)   A 
C A-B?>B?C	CC