o
    Th  ã                   @   s*  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„ 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                   @   sH   e Zd ZdZdZddgZg Zdd„ Zdd„ Zd	d
„ Z	dd„ Z
d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                 K   sT   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Úoptions© r3   ú]/home/air/segue/gemini/back/venv/lib/python3.10/site-packages/pygments/formatters/terminal.pyr,   S   s   ÿÿ
zTerminalFormatter.__init__c                 C   s   t  | ||¡S ©N)r   Úformat)r1   ÚtokensourceÚoutfiler3   r3   r4   r6   [   s   zTerminalFormatter.formatc                 C   s4   |  j d7  _ | d| j dkrdpd| j f ¡ d S )Né   z%s%04d: Ú
r   )r0   Úwrite)r1   r8   r3   r3   r4   Ú_write_lineno^   s   &zTerminalFormatter._write_linenoc                 C   s8   | j  |¡}|d u r|j}| j  |¡}|d u s
|| j S r5   )r*   r.   Úparentr-   )r1   ÚttypeÚcolorsr3   r3   r4   Ú
_get_colorb   s   þ
zTerminalFormatter._get_colorc              	   C   s¢   | j r|  |¡ |D ]:\}}|  |¡}| d¡D ]+}|r(| t|| d¡ƒ¡ n| | d¡¡ | d¡rC| j r>|  |¡ q| d¡ qq
| j rO| d¡ d S d S )NTr:   )r+   r<   r@   Ú
splitlinesr;   r   ÚrstripÚendswith)r1   r7   r8   r>   ÚvalueÚcolorÚliner3   r3   r4   Úformat_unencodedl   s"   



€÷ÿz"TerminalFormatter.format_unencodedN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesr,   r6   r<   r@   rG   r3   r3   r3   r4   r   8   s    
N)'rK   Ú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ÚPromptr/   r   r3   r3   r3   r4   Ú<module>   sh    
0ÿýüûúùø	÷
öõôóòñðïîã!