
    Ki                        d Z ddlm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	y)
z*Additional support for Pygments formatter.    )annotationsNc                      e Zd ZddZddZy)OdtPygmentsFormatterc                r    t         j                  j                  j                  |        || _        || _        y N)pygments	formatter	Formatter__init__rststyle_functionescape_function)selfr   r   s      v/home/jay/workspace/scripts/.codegraph-venv/lib/python3.12/site-packages/docutils/writers/odf_odt/pygmentsformatter.pyr   zOdtPygmentsFormatter.__init__   s,    $$--d3!2.    c                &    | j                  ||      S r   )r   )r   name
parameterss      r   rststylezOdtPygmentsFormatter.rststyle   s    %%dJ77r   NreturnNone) )__name__
__module____qualname__r   r   r   r   r   r   r      s    /
8r   r   c                      e Zd ZddZy)OdtPygmentsProgFormatterc                   t         j                  j                  }|D ]I  \  }}| j                  |      }||j                  k(  r| j                  d      }d|d|d}n||j                  j                  k(  r| j                  d      }d|d|d}n||j                  j                  j                  |j                  j                  j                  j                  |j                  j                  j                  |j                  j                  j                  |j                  j                  j                  |j                  j                  fv r| j                  d      }d|d|d}n||j                  k(  r| j                  d      }d|d|d}n||j                  k(  r| j                  d      }d|d|d}n||j                   j"                  k(  r| j                  d	      }d|d|d}n`||j                   j$                  k(  r| j                  d
      }d|d|d}n,||j                   k(  r| j                  d      }d|d|d}n|}|j'                  |       L y )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   s   ^^))
' +	LE5((/E
***]]#67"*,,333]]#56"&&--55&&--55::&&--33&&--11&&--11&&--  ]]#56"*---]]#78"*,,,]]#67"*/////]]#89"*//222]]#;<"*//)]]#34" MM"W+	r   Nr   r   r   r   r@   r   r   r   r   r      s    -r   r   c                      e Zd ZddZy)OdtPygmentsLaTeXFormatterc                   t         j                  j                  }|D ]`  \  }}| j                  |      }||j                  k(  r| j                  d      }d|d|d}n||j                  j                  |j                  j                  j                  fv r| j                  d      }d|d|d}n||j                  j                  k(  r| j                  d      }d|d|d}n||j                  k(  rA|d   dk(  r| j                  d	      }d|d|d d d
}nQ| j                  d	      }d|d|d}n6||j                  j                  k(  r| j                  d      }d|d|d}n|}|j                  |       c y )Nr   r    r!   r"   r#   r$   
r%   z</text:span>
r&   )r   r'   r(   r   r)   r   r*   r+   Backtickr4   	Attributer3   Builtinr7   r8   s           r   r@   z OdtPygmentsLaTeXFormatter.formatI   so   ^^))
' 	LE5((/E
***]]#67":--44%--44==  ]]#56"*//333]]#78"*,,,9$':;BU3BZ+B ':;BU&B*//111]]#34" MM"?	r   Nr   rA   r   r   r   rC   rC   H   s    !r   rC   )
__doc__
__future__r   r   pygments.formatterr	   r
   r   r   rC   r   r   r   <module>rM      sF   
 1 "  88--77 8.3 .b" 4 "r   