ó
    öÞ j�  ã                   óŠ   • S r SSKJr  SSKJr  SSKJr  SSKJr  / SQr	 " S S\5      r
 " S	 S
\5      rSrSr " S S\5      rg)zÙ
pygments.formatters.other
~~~~~~~~~~~~~~~~~~~~~~~~~

Other formatters: NullFormatter, RawTokenFormatter.

:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é    )Ú	Formatter)Úget_choice_opt)ÚToken)Úcolorize)ÚNullFormatterÚRawTokenFormatterÚTestcaseFormatterc                   ó0   • \ rS rSrSrSrSS/rS/rS rSr	g	)
r   é   z3
Output the text unchanged without any formatting.
z	Text onlyÚtextÚnullz*.txtc                 ó¦   • U R                   nU H?  u  pEU(       a"  UR                  UR                  U5      5        M.  UR                  U5        MA     g ©N)ÚencodingÚwriteÚencode)ÚselfÚtokensourceÚoutfileÚencÚttypeÚvalues         ÚS/var/www/html/gaurav/venv/lib/python3.13/site-packages/pygments/formatters/other.pyÚformatÚNullFormatter.format   s;   € Ø�m‰mˆÛ'‰LˆEÞØ—‘˜eŸl™l¨3Ó/Ö0à—‘˜eÖ$ò	 (ó    © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚnameÚaliasesÚ	filenamesr   Ú__static_attributes__r   r   r   r   r      s$   † ñð €DØ�vÐ€GØ�	€Iõ%r   r   c                   ó:   • \ rS rSrSrSrSS/rS/rSrS r	S	 r
S
rg)r   é$   aI  
Format tokens as a raw representation for storing token streams.

The format is ``tokentype<TAB>repr(tokenstring)\n``. The output can later
be converted to a token stream with the `RawTokenLexer`, described in the
:doc:`lexer list <lexers>`.

Only two options are accepted:

`compress`
    If set to ``'gz'`` or ``'bz2'``, compress the output with the given
    compression algorithm after encoding (default: ``''``).
`error_color`
    If set to a color name, highlight error tokens using that color.  If
    set but with no value, defaults to ``'red'``.

    .. versionadded:: 0.11

z
Raw tokensÚrawÚtokensz*.rawFc                 ó^  • [         R                  " U 40 UD6  SU l        [        US/ SQS5      U l        UR                  SS 5      U l        U R                  SL a  SU l        U R                  b   [        U R                  S5        g g ! [         a    [        SU R                  < S	35      ef = f)
NÚasciiÚcompress)Ú ÚnoneÚgzÚbz2r.   Úerror_colorTÚredzInvalid color z
 specified)
r   Ú__init__r   r   r-   Úgetr2   r   ÚKeyErrorÚ
ValueError©r   Úoptionss     r   r4   ÚRawTokenFormatter.__init__>   s²   € Ü×Ò˜4Ñ+ 7Ò+ð  ˆŒÜ& w°
Ú'@À"óFˆŒà"Ÿ;™; }°dÓ;ˆÔØ×Ñ˜tÒ#Ø$ˆDÔØ×ÑÑ'ðRÜ˜×)Ñ)¨2Õ.ð (øô ó RÜ  >°$×2BÑ2BÑ1EÀZÐ!PÓQÐQðRús   Á/B Â%B,c                 ó¤  ^^
•  TR                  S5        U R                  S:X  a1  SS KnUR	                  SSST5      mTR                   nTR
                  nOLU R                  S:X  a$  SS KnUR                  S5      m
U
U4S	 jnU
U4S
 jnOTR                   nTR                  nU R                  (       ag  U H`  u  pxSXx4-  n	U[        R                  L a:  U" [        U R                  U	R                  5       5      R                  5       5        MX  U" U	5        Mb     OU H  u  pxU" SXx4-  5        M     U" 5         g ! [         a    [        S5      ef = f)Nr   z3The raw tokens formatter needs a binary output filer0   r   r.   Úwbé	   r1   c                 óF   >• TR                  TR                  U 5      5        g r   )r   r-   )r   Ú
compressorr   s    €€r   r   Ú'RawTokenFormatter.format.<locals>.write_   s   ø€ Ø—‘˜j×1Ñ1°$Ó7Õ8r   c                  ód   >• TR                  T R                  5       5        TR                  5         g r   )r   Úflush)r?   r   s   €€r   rB   Ú'RawTokenFormatter.format.<locals>.flushb   s!   ø€ Ø—‘˜j×.Ñ.Ó0Ô1Ø—‘•r   s   %r	%r
)r   Ú	TypeErrorr-   ÚgzipÚGzipFileÚcloser1   ÚBZ2CompressorrB   r2   r   ÚErrorr   Údecoder   )r   r   r   rE   r   rB   r1   r   r   Úliner?   s     `       @r   r   ÚRawTokenFormatter.formatO   s&  ù€ ð	+Ø�M‰M˜#Ôð �=‰=˜DÓ ÛØ—m‘m B¨¨a°Ó9ˆGà—M‘MˆEØ—M‘M‰EØ�]‰]˜eÓ#ÛØ×*Ñ*¨1Ó-ˆJö9÷ ð —M‘MˆEØ—M‘MˆEà××Û +‘�Ø" e ^Ñ3�ØœEŸK™KÒ'Ùœ( 4×#3Ñ#3°T·[±[³]ÓC×JÑJÓLÖMá˜$–Kò !,ó !,‘�Ù�k U NÑ2Ö3ñ !,á�øôC ó 	+Üð *ó +ð +ð	+ús   „D9 Ä9E)r-   r   r2   N)r   r   r    r!   r"   r#   r$   r%   Úunicodeoutputr4   r   r&   r   r   r   r   r   $   s/   † ñð& €DØ�hÐ€GØ�	€Ià€MòRõ"$r   r   zG    def testNeedsName(lexer):
        fragment = %r
        tokens = [
zD        ]
        assert list(lexer.get_tokens(fragment)) == tokens
c                   ó.   • \ rS rSrSrSrS/rS rS rSr	g)	r	   é�   zI
Format tokens as appropriate for a new testcase.

.. versionadded:: 2.0
ÚTestcaseÚtestcasec                 ó„   • [         R                  " U 40 UD6  U R                  b  U R                  S:w  a  [        S5      eg g )Núutf-8z*Only None and utf-8 are allowed encodings.)r   r4   r   r7   r8   s     r   r4   ÚTestcaseFormatter.__init__Š   s?   € Ü×Ò˜4Ñ+ 7Ò+Ø�=‰=Ñ$¨¯©¸'Ó)AÜÐIÓJÐJð *BÐ$r   c           	      ó  • Sn/ n/ nU H1  u  pgUR                  U5        UR                  U SU SU< S35        M3     [        SR                  U5      4-  nSR                  U5      n	[        n
U R                  c  UR                  X‰-   U
-   5        O`UR                  UR                  S5      5        UR                  U	R                  S5      5        UR                  U
R                  S5      5        UR                  5         g )Nz            Ú(z, z),
r.   rS   )ÚappendÚTESTCASE_BEFOREÚjoinÚTESTCASE_AFTERr   r   r   rB   )r   r   r   ÚindentationÚrawbufÚoutbufr   r   ÚbeforeÚduringÚafters              r   r   ÚTestcaseFormatter.format�   sÖ   € ØˆØˆØˆÛ'‰LˆEØ�M‰M˜%Ô Ø�M‰M˜[˜M¨¨5¨'°°E±9¸DÐAÖBñ (ô ! B§G¡G¨F£OÐ#5Ñ5ˆØ—‘˜“ˆÜˆØ�=‰=Ñ Ø�M‰M˜&™/¨EÑ1Õ2à�M‰M˜&Ÿ-™-¨Ó0Ô1Ø�M‰M˜&Ÿ-™-¨Ó0Ô1Ø�M‰M˜%Ÿ,™, wÓ/Ô0Ø�‰�r   r   N)
r   r   r    r!   r"   r#   r$   r4   r   r&   r   r   r   r	   r	   �   s    † ñð
 €DØˆl€GòKõ
r   r	   N)r"   Úpygments.formatterr   Úpygments.utilr   Úpygments.tokenr   Úpygments.consoler   Ú__all__r   r   rX   rZ   r	   r   r   r   Ú<module>rg      sR   ðñõ )Ý (Ý  Ý %â
E€ô%�Iô %ô"O˜	ô Oðd€ð
€ô˜	õ r   