
    -PhI                         d Z ddlZddlZ G d dej        j                  Z G d de          Z G d de          ZdS )	z.

Additional support for Pygments formatter.

    Nc                       e Zd Zd ZddZdS )OdtPygmentsFormatterc                 j    t           j        j                            |            || _        || _        d S N)pygments	formatter	Formatter__init__rststyle_functionescape_function)selfr   r   s      j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/docutils/writers/odf_odt/pygmentsformatter.pyr
   zOdtPygmentsFormatter.__init__   s2    $--d333!2.     c                 .    |                      ||          S r   )r   )r   name
parameterss      r   rststylezOdtPygmentsFormatter.rststyle   s    %%dJ777r   N)r   )__name__
__module____qualname__r
   r   r   r   r   r   r      s7        / / /
8 8 8 8 8 8r   r   c                       e Zd Zd ZdS )OdtPygmentsProgFormatterc                    t           j        j        }|D ]\  }}|                     |          }||j        k    r |                     d          }d|d|d}n||j        j        k    r |                     d          }d|d|d}na||j        j        j	        |j        j        j	        j
        |j        j        j        |j        j        j        |j        j        j        |j        j        fv r|                     d          }d|d|d}n||j        k    r|                     d          }d|d|d}n||j        k    r|                     d          }d|d|d}n||j        j        k    r|                     d	          }d|d|d}n[||j        j        k    r|                     d
          }d|d|d}n,||j        k    r|                     d          }d|d|d}n|}|                    |           d S )Ncodeblock-keyword<text:span text:style-name=""></text:span>codeblock-stringzcodeblock-numbercodeblock-operatorcodeblock-commentzcodeblock-classnamezcodeblock-functionnamecodeblock-name)r   tokenTokenr   Keywordr   LiteralStringNumberIntegerLongFloatHexOctOperatorCommentNameClassFunctionwriter   tokensourceoutfile
tokenclassttypevalues2s1s           r   formatzOdtPygmentsProgFormatter.format   sm   ^)
' +	 +	LE5((//E
***]]#677RR"*,333]]#566RR"&-5&-5:&-3&-1&-1&-   ]]#566RR"*---]]#788RR"*,,,]]#677RR"*////]]#899RR"*/222]]#;<<RR"*/))]]#344RR" MM"W+	 +	r   Nr   r   r   r<   r   r   r   r   r      s#        - - - - -r   r   c                       e Zd Zd ZdS )OdtPygmentsLaTeXFormatterc                    t           j        j        }|D ]U\  }}|                     |          }||j        k    r|                     d          }d|d|d}n||j        j        |j        j        j        fv r|                     d          }d|d|d}n||j	        j
        k    r|                     d          }d|d|d}n||j        k    rR|d         dk    r'|                     d	          }d|d|d d         d
}nP|                     d	          }d|d|d}n1||j	        j        k    r|                     d          }d|d|d}n|}|                    |           Wd S )Nr   r   r   r   r   r    
r!   z</text:span>
r"   )r   r#   r$   r   r%   r   r&   r'   Backtickr0   	Attributer/   Builtinr3   r4   s           r   r<   z OdtPygmentsLaTeXFormatter.formatL   s   ^)
' 	 	LE5((//E
***]]#677RR":-4%-4=   ]]#566RR"*/333]]#788RR"*,,,9$$':;;BBU3B3ZZZ+BB ':;;BBUUU&BB*/111]]#344RR" MM"?	 	r   Nr=   r   r   r   r?   r?   K   s#        ! ! ! ! !r   r?   )__doc__r   pygments.formatterr   r	   r   r   r?   r   r   r   <module>rH      s   
      8 8 8 8 88-7 8 8 8. . . . .3 . . .b" " " " " 4 " " " " "r   