+
    -j"#                        R t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt^ RIH	t	 ^ RIH
t
 ^ RIHt ^ RIt^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^RIHt ^RIHt R R ltR R lt]	 ! R R4      4       tR# )z4Helper functions for writing to terminals and files.)annotations)SequenceN)final)Literal)TextIO)TerminalFormatter)Lexer)	DiffLexer)PythonLexer)assert_never)wcswidthc                   V ^8  d   QhRR/#    returnint )formats   "o/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/_pytest/_io/terminalwriter.py__annotate__r      s      C     c                 J    \         P                  ! RR7      w  rV ^(8  d   ^Pp V # )P   )fallback)r      )shutilget_terminal_size)width_s     r   get_terminal_widthr      s'    '':HE rzLr   c                    V ^8  d   QhRRRR/# )r   filer   r   boolr   )r   s   "r   r   r   $   s      6 d r   c                   \         P                  P                  R 4      R8X  d   R# \         P                  P                  R 4      R8X  d   R# \         P                  P                  R4      '       d   R# \         P                  P                  R4      '       d   R# \        V R4      ;'       d;    V P	                  4       ;'       d#    \         P                  P                  R4      R	8g  # )
	PY_COLORS1T0FNO_COLORFORCE_COLORisattyTERMdumb)osenvirongethasattrr)   )r!   s   &r   should_do_markupr0   $   s    	zz~~k"c)	zz~~k"c)	zz~~j!!	zz~~m$$hVVDKKMVVbjjnnV6LPV6Vr   c                     ] tR t^2t]! R5/ R^bR^bR^ bR^!bR^"bR^#bR^$bR^%bR	^(bR
^)bR^*bR^+bR^,bR^-bR^.bR^/bR^bR^bR^bR^b tR6R R llt]R R l4       t]P                  R R l4       t]R R l4       t
R R ltR7R  R! lltR"R#/R$ R% lltR"R#/R& R' lltR8R( R) lltR* R+ ltR9R, R- lltR. R/ ltR0 R1 ltR:R2 R3 lltR4tR# );TerminalWriterblackredgreenyellowbluepurplecyanwhiteBlackRedGreenYellowBluePurpleCyanWhiteboldlightblinkinvertNc                    V ^8  d   QhRRRR/# )r   r!   zTextIO | Noner   Noner   )r   s   "r   r   TerminalWriter.__annotate__K   s     # #] #d #r   c                	n   Vf   \         P                  p\        VR4      '       dS   VP                  4       '       d=   \         P                  R8X  d(    ^ R IpVP                  V4      P                  pVf   Q h Wn	        \        V4      V n        RV n        R V n        RV n        R #   \         d     L:i ; i)Nr)   win32 T)sysstdoutr/   r)   platformcoloramaAnsiToWin32streamImportError_filer0   	hasmarkup_current_line_terminal_widthcode_highlight)selfr!   rP   s   && r   __init__TerminalWriter.__init__K   s    <::D4""t{{}}9P(  ++D188'''
)$/+/"  s   B& &B43B4c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rI   ]   s     $ $3 $r   c                	J    V P                   e   V P                   # \        4       # N)rW   r   rY   s   &r   	fullwidthTerminalWriter.fullwidth\   s#    +'''!##r   c                    V ^8  d   QhRRRR/# )r   valuer   r   rH   r   )r   s   "r   r   rI   c   s     % %s %t %r   c                	    Wn         R # r^   )rW   )rY   rc   s   &&r   r`   ra   b   s    $r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rI   g   s     , ,s ,r   c                ,    \        V P                  4      # )z;Return an estimate of the width so far in the current line.)r   rV   r_   s   &r   width_of_current_line$TerminalWriter.width_of_current_linef   s     **++r   c               $    V ^8  d   QhRRRRRR/# )r   textstrmarkupr"   r   r   )r   s   "r   r   rI   k   s!      3 $ 3 r   c                	^   V F"  pW0P                   9  g   K  \        R V: 24      h	  V P                  '       dm   VP                  4        UUu. uF"  w  r4V'       g   K  V P                   V,          NK$  	  pppV'       d'   RP	                  R V 4       4      V,           R,           pV# u uppi )zunknown markup: rL   c              3  .   "   T F  pR V R2x  K  	  R# 5i)z[mNr   ).0cods   & r   	<genexpr>(TerminalWriter.markup.<locals>.<genexpr>r   s     =#se1~s   [0m)	_esctable
ValueErrorrU   itemsjoin)rY   rj   rl   nameonescs   &&,   r   rl   TerminalWriter.markupk   s    D>>) #3D8!<==  >>>8>MHD"'4>>$''CMww===DyP Ns   B)B)c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   sepcharrk   titlez
str | Noner`   z
int | Nonerl   r"   r   rH   r   )r   s   "r   r   rI   u   s<     #" #"#" #" 	#"
 #" 
#"r   c                	   Vf   V P                   p\        P                  R8X  d
   V^,          pVeN   \        V\	        V4      ,
          ^,
          ^\	        V4      ,          ,          ^4      pW,          pV RV RV 2pMW\	        V4      ,          ,          p\	        V4      \	        VP                  4       4      ,           V8:  d   WqP                  4       ,          pV P                  ! V3/ VB  R # )NrK    )r`   rM   rO   maxlenrstripline)rY   r~   r   r`   rl   Nfillr   s   &&&&,   r   sepTerminalWriter.sepu   s     I <<7"
 NI
 YU+a/QW5EFJA;DV1UG1TF+D 3w<78D t9s7>>+,,	9NN$$D		$!&!r   flushFc               (    V ^8  d   QhRRRRRRRR/# )r   msgrk   r   r"   rl   r   rH   r   )r   s   "r   r   rI      s(     
- 
- 
- 
- 
- 
-r   c               	    V'       dh   VP                  R ^4      R,          pR V9   d   W@n        MV ;P                  V,          un        V P                  ! V3/ VB pV P                  WR7       R# R# )
)r   N)rsplitrV   rl   	write_raw)rY   r   r   rl   current_lines   &&$, r   writeTerminalWriter.write   s^    ::dA.r2Ls{%1"""l2"++c,V,CNN3N, r   c               $    V ^8  d   QhRRRRRR/# )r   r   rk   r   r"   r   rH   r   )r   s   "r   r   rI      s!      S D T r   c               	
    V P                   P                  V4       V'       d   V P                  4        R# R#   \         d?    TP                  R 4      P	                  R4      pT P                   P                  T4        Ldi ; i)zunicode-escapeasciiN)rT   r   UnicodeEncodeErrorencodedecoder   )rY   r   r   s   &&$r   r   TerminalWriter.write_raw   sk    
	"JJS! JJL  " 	" **-.55g>CJJS!	"s   9 ABBc               $    V ^8  d   QhRRRRRR/# )r   srk   rl   r"   r   rH   r   )r   s   "r   r   rI      s!      c $ 4 r   c                	N    V P                   ! V3/ VB  V P                  R 4       R# )r   N)r   )rY   r   rl   s   &&,r   r   TerminalWriter.line   s    

1

4r   c                   V ^8  d   QhRR/# )r   r   rH   r   )r   s   "r   r   rI      s      t r   c                	:    V P                   P                  4        R # r^   )rT   r   r_   s   &r   r   TerminalWriter.flush   s    

r   c               $    V ^8  d   QhRRRRRR/# )r   lineszSequence[str]indentsr   rH   r   )r   s   "r   r   rI      s"     ) )= )= )RV )r   c                   V'       d>   \        V4      \        V4      8w  d%   \        R\        V4       R\        V4       R24      hV'       g   R.\        V4      ,          pRP                  V4      pV P                  V4      P	                  4       p\        W$RR7       F  w  rVV P                  WV,           4       K  	  R# )	a)  Write lines of source code possibly highlighted.

Keeping this private for now because the API is clunky. We should discuss how
to evolve the terminal writer so we can have more precise color support, for example
being able to write part of a line in one color and the rest in another, and so on.
zindents size (z") should have same size as lines ()rL   r   F)strictN)r   rv   rx   
_highlight
splitlineszipr   )rY   r   r   source	new_linesindentnew_lines   &&&    r   _write_sourceTerminalWriter._write_source   s     s7|s5z1 W.PQTUZQ[P\\]^  dSZ'G5!OOF+668	 #Gu EFIIf'( !Fr   c                    V ^8  d   QhRRRR/# )r   lexerzLiteral['python', 'diff']r   r   r   )r   s   "r   r   rI      s        )B  u  r   c                	`    VR 8X  d   \        4       # VR8X  d   \        4       # \        V4       R# )pythondiffN)r
   r	   r   )rY   r   s   &&r   _get_pygments_lexer"TerminalWriter._get_pygments_lexer   s)    H= f_;r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   rI      s      ): r   c                	H   ^ RI Hp \        P                  ! R4      p\        P                  ! RR4      p \	        W2R7      #   \
        P                  P                   d   pT! RT R24      ThRp?i\
        P                  P                   d   pT! R	T R
24      ThRp?ii ; i)    )
UsageErrorPYTEST_THEMEPYTEST_THEME_MODEdark)bgstylez9PYTEST_THEME environment variable has an invalid value: 'zC'. Hint: See available pygments styles with `pygmentize -L styles`.Nz>PYTEST_THEME_MODE environment variable has an invalid value: 'z7'. The allowed values are 'dark' (default) and 'light'.)	_pytest.config.exceptionsr   r,   getenvr   pygmentsutilClassNotFoundOptionError)rY   r   theme
theme_modees   &    r   _get_pygments_formatter&TerminalWriter._get_pygments_formatter   s    8		.)YY2F;
	$
@@}}** 	KE7 SS S  }}(( 	PQ[P\ ]G G 	s)   A B! A-- B!B!BB!c               $    V ^8  d   QhRRRRRR/# )r   r   rk   r   zLiteral['diff', 'python']r   r   )r   s   "r   r   rI      s$      ";	r   c                &   V'       d%   V P                   '       d   V P                  '       g   V# V P                  V4      pV P                  4       p\        P
                  ! WV4      pVR,          R8X  d   VR,          R8w  d   VRR pRV,           pV# )z5Highlight the given source if we have markup support.r   Nrt   r   )rU   rX   r   r   r   	highlight)rY   r   r   pygments_lexerpygments_formatterhighlighteds   &&&   r   r   TerminalWriter._highlight   s     T^^^43F3F3FM11%8!99;#--$6

 r?d"vbzT'9%cr*K
  +-r   )rV   rT   rW   rX   rU   r   r^   )NN)rL   )r   )r   )__name__
__module____qualname____firstlineno__dictru   rZ   propertyr`   setterrg   rl   r   r   r   r   r   r   r   r   r   __static_attributes__r   r   r   r2   r2   2   s]      	
             !" #$ %& '( )I.#" $ $
 % % , ,#"J
-u 
-5  )& & r   r2   )__doc__
__future__r   collections.abcr   r,   r   rM   typingr   r   r   r   pygments.formatters.terminalr   pygments.lexerr   pygments.lexers.diffr	   pygments.lexers.pythonr
   compatr   wcwidthr   r   r0   r2   r   r   r   <module>r      s[    : " $ 	  
     :   * . !  O O Or   