o
    i                     @  sX   d Z ddlmZ ddlZddlZG dd dejjZG dd deZG dd	 d	eZ	dS )
z*Additional support for Pygments formatter.    )annotationsNc                   @  s    e Zd Zd	ddZd
ddZdS )OdtPygmentsFormatterreturnNonec                 C  s   t jj|  || _|| _d S N)pygments	formatter	Formatter__init__rststyle_functionescape_function)selfr   r    r   p/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/docutils/writers/odf_odt/pygmentsformatter.pyr
      s   
zOdtPygmentsFormatter.__init__r   c                 C  s   |  ||S r   )r   )r   name
parametersr   r   r   rststyle   s   zOdtPygmentsFormatter.rststyleNr   r   )r   )__name__
__module____qualname__r
   r   r   r   r   r   r      s    
r   c                   @     e Zd ZdddZdS )OdtPygmentsProgFormatterr   r   c                 C  sv  t jj}|D ]\}}| |}||jkr | d}d||f }n||jjkr2| d}d||f }n||jjj	|jjj	j
|jjj|jjj|jjj|jjfv rZ| d}d||f }nY||jkrk| d}d||f }nH||jkr|| d}d||f }n7||jjkr| d}d||f }n%||jjkr| d}d||f }n||jkr| d	}d||f }n|}|| qd S )
Ncodeblock-keyword.<text:span text:style-name="%s">%s</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s1r   r   r   format   sj   













zOdtPygmentsProgFormatter.formatNr   r   r   r   r8   r   r   r   r   r          r   c                   @  r   )OdtPygmentsLaTeXFormatterr   r   c                 C  s  t jj}|D ]\}}| |}||jkr | d}d||f }nd||jj|jjjfv r7| d}d||f }nM||j	j
krI| d}d||f }n;||jkrp|d dkrd| d}d||d d f }n | d}d||f }n||j	jkr| d	}d||f }n|}|| qd S )
Nr   r   r   r   
r   z/<text:span text:style-name="%s">%s</text:span>
r   )r   r   r    r   r!   r   r"   r#   Backtickr,   	Attributer+   Builtinr/   r0   r   r   r   r8   I   sL   








z OdtPygmentsLaTeXFormatter.formatNr   r9   r   r   r   r   r;   H   r:   r;   )
__doc__
__future__r   r   pygments.formatterr   r	   r   r   r;   r   r   r   r   <module>   s   
1