
    g                    R    S SK Jr  S SKJr  S SKJr   " S S\5      rS	S jrS
S jr	g)    )annotations)Callable)Pathc                  4   \ rS rSrSr\SS j5       r\R                  SS j5       r\SS j5       r\R                  SS j5       r\SS j5       r	\	R                  SS j5       r	\SS	 j5       r
\
R                  SS
 j5       r
\SS j5       r\R                  SS j5       r\SS j5       r\R                  SS j5       r\SS j5       r\R                  SS j5       r\SS j5       r\R                  SS j5       r\SS j5       r\R                  SS j5       rSrg)OptionsDict   zMA dictionary, with attribute access to core markdownit configuration options.c                    U S   $ )z%Internal protection, recursion limit.
maxNesting selfs    1lib/python3.13/site-packages/markdown_it/utils.pyr
   OptionsDict.maxNesting
        L!!    c                    XS'   g )Nr
   r   r   values     r   r
   r      
    "\r   c                    U S   $ )zEnable HTML tags in source.htmlr   r   s    r   r   OptionsDict.html   s     F|r   c                    XS'   g )Nr   r   r   s     r   r   r      s	    Vr   c                    U S   $ )z1Enable autoconversion of URL-like texts to links.linkifyr   r   s    r   r   OptionsDict.linkify   s     Ir   c                    XS'   g )Nr   r   r   s     r   r   r   !   s	    Yr   c                    U S   $ )z$Enable smartquotes and replacements.typographerr   r   s    r   r   OptionsDict.typographer%   s     M""r   c                    XS'   g )Nr   r   r   s     r   r   r    *   s
    #]r   c                    U S   $ )zQuote characters.quotesr   r   s    r   r#   OptionsDict.quotes.        H~r   c                    XS'   g )Nr#   r   r   s     r   r#   r$   3   	    Xr   c                    U S   $ )z&Use '/' to close single tags (<br />).xhtmlOutr   r   s    r   r)   OptionsDict.xhtmlOut7   s     Jr   c                    XS'   g )Nr)   r   r   s     r   r)   r*   <   s
     Zr   c                    U S   $ )z)Convert newlines in paragraphs into <br>.breaksr   r   s    r   r-   OptionsDict.breaks@   r%   r   c                    XS'   g )Nr-   r   r   s     r   r-   r.   E   r'   r   c                    U S   $ )z&CSS language prefix for fenced blocks.
langPrefixr   r   s    r   r1   OptionsDict.langPrefixI   r   r   c                    XS'   g )Nr1   r   r   s     r   r1   r2   N   r   r   c                    U S   $ )zEHighlighter function: (content, langName, langAttrs) -> escaped HTML.	highlightr   r   s    r   r5   OptionsDict.highlightR   s     K  r   c                    XS'   g )Nr5   r   r   s     r   r5   r6   W   s
    ![r   r   N)returnint)r   r9   )r8   bool)r   r:   )r8   str)r   r;   )r8   %Callable[[str, str, str], str] | None)r   r<   )__name__
__module____qualname____firstlineno____doc__propertyr
   setterr   r   r   r#   r)   r-   r1   r5   __static_attributes__r   r   r   r   r      s   W" " # #   
[[    ^^    # # $ $   ]]      __! !   ]]  " " # # ! ! " "r   r   c                   [        U 5      R                  SS9n/ nSnSnUR                  SS9n[        [	        U5      5       H  nXV   R                  5       S:X  d  M  US:X  a)  UR                  XeUS-
     R                  5       /5        SnOaUS:X  a+  US   R                  S	R                  XTS-   U 5      5        S
nO0US
:X  a*  US   R                  S	R                  XTS-   U 5      5        SnUnM     U$ )Nzutf-8)encodingr   T)keepends.       )	r   	read_text
splitlinesrangelenrstripappendstripjoin)pathtexttestssectionlast_poslinesis          r   read_fixture_filer\   \   s    :1DEGHOOTO*E3u:8??#!|aq1u!3!3!567Ab	  !|a)@!ABAb	  !|a)@!ABH  Lr   c                ^    U(       a%  U R                  U5      (       a  U S[        U5      *  $ U $ )zuRemove a suffix from a string.

Replace this with str.removesuffix() from stdlib when minimum Python
version is 3.9.
N)endswithrP   )stringsuffixs     r   _removesuffixra   r   s-     &//&))nV%%Mr   N)rU   z
str | Pathr8   z
list[list])r_   r;   r`   r;   r8   r;   )

__future__r   collections.abcr   pathlibr   dictr   r\   ra   r   r   r   <module>rf      s'    " $ R"$ R"j,r   