
    Mh                        d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZ ddlmZ dgZi edededej        d	ed
ej        d	e
j        dej        d	ej        dej        dej        dej        d	ej        dej        dej        dej        d	ej        dede	d
ej         dej!        dej"        dej#        dej$        dej        dedi	Z% G d de          Z&dS )z
    pygments.formatters.terminal
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Formatter for terminal output with ANSI sequences.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )	Formatter)
KeywordNameCommentStringErrorNumberOperatorGenericToken
Whitespace)
ansiformat)get_choice_optTerminalFormatter) r   )graybrightblack)cyan
brightcyan)blue
brightblue)magentabrightmagenta)greenbrightgreen)_cyan__brightcyan_)_green__brightgreen_)r   r   )red	brightred)r   r   )yellowr"   )r!   r!   )**r#   )z	*magenta*z*brightmagenta*)_brightred_r$   c                   @    e Zd ZdZdZddgZg Zd Zd Zd Z	d Z
d	 Zd
S )r   a  
    Format tokens with ANSI color sequences, for output in a text console.
    Color sequences are terminated at newlines, so that paging the output
    works correctly.

    The `get_style_defs()` method doesn't do anything special since there is
    no support for common styles.

    Options accepted:

    `bg`
        Set to ``"light"`` or ``"dark"`` depending on the terminal's background
        (default: ``"light"``).

    `colorscheme`
        A dictionary mapping token types to (lightbg, darkbg) color names or
        ``None`` (default: ``None`` = use builtin colorscheme).

    `linenos`
        Set to ``True`` to have line numbers on the terminal output as well
        (default: ``False`` = no line numbers).
    Terminalterminalconsolec                     t          j        | fi | t          |dddgd          dk    | _        |                    dd           pt
          | _        |                    dd          | _        d| _        d S )NbglightdarkcolorschemelinenosFr   )	r   __init__r   darkbggetTERMINAL_COLORSr-   r.   _lineno)selfoptionss     \/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/formatters/terminal.pyr/   zTerminalFormatter.__init__S   s    4++7+++$Wd&-v%6A ADJK";;}d;;N{{9e44    c                 .    t          j        | ||          S N)r   format)r4   tokensourceoutfiles      r6   r:   zTerminalFormatter.format[   s    k7;;;r7   c                 ~    | xj         dz  c_         |                    d| j         dk    rdpd| j         fz             d S )N   z%s%04d: 
r   )r3   write)r4   r<   s     r6   _write_linenozTerminalFormatter._write_lineno^   sG    jDLA$5$>$$D"dl#SSTTTTTr7   c                     | j                             |          }|#|j        }| j                             |          }|#|| j                 S r9   )r-   r1   parentr0   )r4   ttypecolorss      r6   
_get_colorzTerminalFormatter._get_colorb   sR     !%%e,,nLE%))%00F n dk""r7   c           
      4   | j         r|                     |           |D ]\  }}|                     |          }|                    d          D ]}|r7|                    t          ||                    d                               n(|                    |                    d                     |                    d          r2| j         r|                     |           |                    d           | j         r|                    d           d S d S )NTr?   )r.   rA   rF   
splitlinesr@   r   rstripendswith)r4   r;   r<   rD   valuecolorlines          r6   format_unencodedz"TerminalFormatter.format_unencodedl   s-   < 	(w'''' 	, 	,LE5OOE**E((.. 	, 	, 5MM*UDKK4E4E"F"FGGGGMM$++d"3"3444==&& ,| ,**73333d+++	, < 	 MM$	  	 r7   N)__name__
__module____qualname____doc__namealiases	filenamesr/   r:   rA   rF   rN    r7   r6   r   r   8   s         , D9%GI  < < <U U U# # #         r7   N)'rR   pygments.formatterr   pygments.tokenr   r   r   r   r   r	   r
   r   r   r   pygments.consoler   pygments.utilr   __all__PreprocTypeWordBuiltinFunction	NamespaceClass	Exception	DecoratorVariableConstant	AttributeTagDeletedInsertedHeading
SubheadingPromptr2   r   rV   r7   r6   <module>rn      sT    ) ( ( ( ( (1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ' ' ' ' ' ' ( ( ( ( ( ( 

	+ 1 1	
 O5 1 L5 M9 	L5 	M2 	N7 	J4 	N5 	N2 	M0  	M0!" 	N5#$ 	H;%& 2
1O91O,:N,M9	;; BG  G  G  G  G 	 G  G  G  G  G r7   