
    Ki                        d Z ddlmZ dZddlZddlmZmZmZ dZ	e	rddl
mZ ddlmZ dd	lmZ  G d
 de      ZdddddddddddddZddZy)z0
This package contains Docutils parser modules.
    )annotationsreStructuredTextN)	Componentfrontend
transformsF)Final)nodes)	Transformc                  (    e Zd ZU ddddgdddej                  dfd	d
gddifddgdddej                  dfddgddifddgdddej
                  dfddgdej                  dfddgdddfffZdZd ed!<   d"Z	d ed#<   d( fd$Z
d)d%Zd)d&Zd*d'Z xZS )+ParserzGeneric Parser OptionsNzjDisable directives that insert the contents of an external file; replaced with a "warning" system message.z--no-file-insertionstore_falseTfile_insertion_enabled)actiondefaultdest	validatorzIEnable directives that insert the contents of an external file. (default)z--file-insertion-enabledr   
store_truezFDisable the "raw" directive; replaced with a "warning" system message.z--no-rawraw_enabledz%Enable the "raw" directive. (default)z--raw-enabledz>Maximal number of characters in an input line. Default 10 000.z--line-length-limitz<length>int'  )metavartyper   r   z)Validate the document tree after parsing.z
--validate)r   r   z,Do not validate the document tree. (default)z--no-validationvalidate)r   r   parserr   component_typeparsersconfig_sectionc                X    t         |          t        j                  j                  gz   S )N)superget_transformsr   	universalValidate)self	__class__s    e/home/jay/workspace/scripts/.codegraph-venv/lib/python3.12/site-packages/docutils/parsers/__init__.pyr    zParser.get_transforms?   s%    w%':+?+?+H+H*III    c                    t        d      )z>Override to parse `inputstring` into document tree `document`.z"subclass must override this method)NotImplementedErrorr#   inputstringdocuments      r%   parsezParser.parseB   s    !"FGGr&   c                   || _         |j                  j                  dd       |j                  j                  dd       |j                  j                  dd       || _        |j                  j                  |j                         y)z6Initial parse setup.  Call at start of `self.parse()`.r   Fr   line_length_limitr   N)r*   settings
setdefaultr+   reporterattach_observernote_parse_messager)   s      r%   setup_parsezParser.setup_parseF   so    &$$%=uE$$]E:$$%8&A ))(*E*EFr&   c                v    | j                   j                  j                  | j                   j                         y)z7Finalize parse details.  Call at end of `self.parse()`.N)r+   r1   detach_observerr3   )r#   s    r%   finish_parsezParser.finish_parseP   s'    ..MM,,	.r&   )returnzlist[type[Transform]])r*   strr+   znodes.documentr8   None)r8   r:   )__name__
__module____qualname__r   validate_booleanvalidate_nonnegative_intsettings_specr   __annotations__r   r    r,   r4   r7   __classcell__)r$   s   @r%   r   r      s    6 
!"t+ 113
4+%
&\
"
$6,"t] 113
4
 2
\
"
$ K 
! %F 99;
< 6.! 113
4 9
"J
7
95	!
MD %NE$%NE%JHG.r&   r   zdocutils.parsers.nullzdocutils.parsers.rstzdocutils.parsers.docutils_xmlz%docutils.parsers.recommonmark_wrapperzmyst_parser.docutils_z#docutils.parsers.commonmark_wrapper)nullrstrestructuredtextrestrestxrtxtdocutils_xmlxmlrecommonmarkmyst
commonmarkmarkdownc                    | j                         }	 t        j                  t        j	                  ||            }|j                  S # t
        $ r}t        d|  d|       |d}~ww xY w)z6Return the Parser class from the `parser_name` module.zParser "z" not found. N)lower	importlibimport_modulePARSER_ALIASESgetImportErrorr   )parser_namenamemoduleerrs       r%   get_parser_classrZ   k   sm    DO((););D$)GH ==  OH[MseDE3NOs   )A 	A'A""A')rV   r9   r8   ztype[Parser])__doc__
__future__r   __docformat__rQ   docutilsr   r   r   TYPE_CHECKINGtypingr   r	   docutils.transformsr
   r   rS   rZ    r&   r%   <module>rc      sp   
 #"  4 4-:.Y :.| 2/&<010"A8"I1 !FC#*r&   