
    ddI                         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y)	z.

Additional support for Pygments formatter.

    Nc                       e Zd Z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      L/usr/lib/python3/dist-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) )__name__
__module____qualname__r
   r   r   r   r   r   r      s    /
8r   r   c                       e Zd Z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   Nr   r   r   r<   r   r   r   r   r      s    -r   r   c                       e Zd Z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'   Backtickr0   	Attributer/   Builtinr3   r4   s           r   r<   z OdtPygmentsLaTeXFormatter.formatL   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=   r   r   r   r?   r?   K   s    !r   r?   )__doc__r   pygments.formatterr   r	   r   r   r?   r   r   r   <module>rH      sE   
  88--77 8.3 .b" 4 "r   