+
     Bi9                        ^ RI t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt RtR t	R t
]
! 4       t]P                  ! R4      tRR	R
R	RR	RR	/tR tR t ! R R]4      tR t]R8X  d"   ^ RIHt ]! R^RR7       ^ RIHt ]! ]4       R# R# )    N)idleConf)	DelegatorFc                 N    R V ,          RP                  V4      ,           R,           # )z(?P<%s>|))join)name
alternatess   &&(/usr/lib/python3.14/idlelib/colorizer.pyanyr      s     tchhz22S88    c                     R \        R\        P                  4      ,           R ,           p RRP                  RRRP                  \        P                  4      ,           R,           .4      ,           R,           pRpRRP                  RRRRP                  \        P                  4      ,           R,           .4      ,           R,           p\	        \
        4       Uu. uF>  pVP                  R4      '       d   K  V\        P                  9  g   K3  \        V4      NK@  	  ppR	\        R
V4      ,           R ,           p\        RR.4      pRpVR,           p	VR,           p
VR,           pVR,           p\        RWW.4      p\        P                  ! RP                  WgWWV\        RR.4      .4      \        P                  \        P                  ,          4      pV# u upi )z\bKEYWORDr   z[:,;=^&|@~)\]}]z\b(?:z)\bz))z_\b_z([^.'\"\\#]\b|^)BUILTINCOMMENTz#[^\n]*z(?i:r|u|f|fr|rf|b|br|rb)?z'[^'\\\n]*(\\.[^'\\\n]*)*'?z"[^"\\\n]*(\\.[^"\\\n]*)*"?z''''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?z'"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?STRINGSYNCz\nz,^[ \t]*(?P<MATCH_SOFTKW>match)\b(?![ \t]*(?:zB^[ \t]*(?P<CASE_SOFTKW>case)[ \t]+(?P<CASE_DEFAULT_UNDERSCORE>_\b)z+^[ \t]*(?P<CASE_SOFTKW2>case)\b(?![ \t]*(?:)r   keywordkwlistr   dirbuiltins
startswithstrrecompileDOTALL	MULTILINE)kwmatch_softkwcase_defaultcase_softkw_and_patternr	   builtinlistbuiltincommentstringprefixsqstringdqstring	sq3string	dq3stringstringprogs                  r   make_patr-      s   	Y/	/%	7B	((tyy0069$
 	 		 	2 	((tyy0069	$
 	 		  *-X ///#. w~~- 3t9K / "C	;$??%GG)j\*G/L<<H<<HIIIIIII(EFF::chh '& , 7 #FUG 4	 ! " ii",,.0D K%/s   G3G
Gz\s+(\w+)MATCH_SOFTKWr   CASE_SOFTKWCASE_DEFAULT_UNDERSCORECASE_SOFTKW2c                 L    R  V P                  4       P                  4        4       # )c              3   @   "   T F  w  rV'       g   K  W3x  K  	  R # 5iN ).0kvs   &  r   	<genexpr>'matched_named_groups.<locals>.<genexpr>N   s     C!=vFQF!=s   )	groupdictitems)re_matchs   &r   matched_named_groupsr>   L   s    C!3!3!5!;!;!=CCr   c           	      <   \         P                  ! 4       p\         P                  ! VR 4      p\         P                  ! VR4      R,          p\         P                  ! VR4      pV P                  VR,          VR,          VVR,          VR,          VR,          R7       R# )normalcursor
foregroundhilite
background)rB   rD   insertbackgroundselectforegroundselectbackgroundinactiveselectbackgroundN)r   CurrentThemeGetHighlightconfig)textthemenormal_colorscursor_colorselect_colorss   &    r   color_configrQ   Q   s     !!#E))%:M((9,GL))%:MKK . .%&|4&|4!.|!<  
r   c                      a  ] tR t^ft o R tR tR tR tR tRR lt	RR lt
RR	 ltR
 tRR ltR tR tR tR tR tRtV tR# )ColorDelegatorc                    \         P                  ! V 4       V P                  4        \        V n        \        V n        V P                  4        R # r4   )r   __init__
init_stater,   idprogLoadTagDefsselfs   &r   rU   ColorDelegator.__init__v   s4    4 	r   c                >    R V n         RV n        RV n        RV n        R # )NTF)after_idallow_colorizingstop_colorizing
colorizingrY   s   &r   rV   ColorDelegator.init_state}   s      $$r   c                   V P                   e   V P                  R4       \        P                  ! W4       VeA   V P	                  4        V P                  RV P                  4       V P                  RR4       R # RV n        RV n	        R # )Nz<<toggle-auto-coloring>>1.0endTF)
delegateunbindr   setdelegateconfig_colorsbindtoggle_colorize_eventnotify_ranger_   r^   )rZ   re   s   &&r   rg   ColorDelegator.setdelegate   sr     ==$KK23d- II0$2L2LMeU+ $(D $)D!r   c                    V P                   P                  4        F  w  rV P                  ! V3/ VB  K  	  V P                  R 4       R# )selN)tagdefsr<   tag_configure	tag_raise)rZ   tagcnfs   &  r   rh   ColorDelegator.config_colors   s:    **,HCs*c* -ur   c                   \         P                  ! 4       pR \         P                  ! VR4      R\         P                  ! VR4      R\         P                  ! VR4      R\         P                  ! VR4      R\         P                  ! VR	4      R
RRRR/RRRRR/R\         P                  ! VR4      R\         P                  ! VR4      /	V n        \        '       d   \        RV P                  4       R# R# )r   r%   r   r   r   r$   r   r+   
DEFINITION
definitionr   rD   NrB   TODOERRORerrorhitro   )r   rI   rJ   ro   DEBUGprint)rZ   rM   s   & r   rX   ColorDelegator.LoadTagDefs   s    %%'x,,UI>x,,UI>x,,UI>h++E8<(//|D\4t<\4t<X**5':
 8((6 5%	4<<05r   Nc                    V P                  V4      pV P                  P                  WV4       V P                  WR \	        V4      ,          ,           4       R# )z+%dcN)indexre   insertrk   len)rZ   r   charstagss   &&&&r   r   ColorDelegator.insert   s@    

5!U40%#e*)<!<=r   c                    V P                  V4      pV P                  P                  W4       V P                  V4       R # r4   )r   re   deleterk   rZ   index1index2s   &&&r   r   ColorDelegator.delete   s0    F#V,&!r   c                t   V P                  R W4       V P                  '       d   \        '       d   \        R4       R# V P                  '       d   RV n        \        '       d   \        R4       V P                  '       d9   \        '       d   \        R4       V P                  ^V P                  4      V n        R# )rx   zcolorizing already scheduledNTstop colorizingzschedule colorizing)	tag_addr]   r|   r}   r`   r_   r^   after
recolorizer   s   &&&r   rk   ColorDelegator.notify_range   sy    VV,===ue:;???#'D ue-.   ue12 JJq$//:DMr   c                    V P                   '       d<   V P                   pR V n         \        '       d   \        R4       V P                  V4       RV n        RV n        R # )Ncancel scheduled recolorizerFT)r]   r|   r}   after_cancelr^   r_   )rZ   r]   s   & r   closeColorDelegator.close   sF    ===}}H DMue:;h' %#r   c                2   V P                   '       d<   V P                   pR V n         \        '       d   \        R4       V P                  V4       V P                  '       d1   V P
                  '       d   \        '       d   \        R4       RV n        V P                  '       * V n        V P                  '       d4   V P
                  '       g"   V P                  ^V P                  4      V n         \        '       d!   \        RV P                  '       d   RMR4       R# )Nr   r   Tzauto colorizing turnedonoffbreak)	r]   r|   r}   r   r^   r`   r_   r   r   )rZ   eventr]   s   && r   rj   $ColorDelegator.toggle_colorize_event   s     ===}}H DMue:;h'   T___ue-.#'D $($9$9 9    JJq$//:DM5*///$U<r   c                   R V n         V P                  '       g   \        '       d   \        R4       R # V P                  '       g   \        '       d   \        R4       R # V P
                  '       d   \        '       d   \        R4       R #  RV n        RV n        \        '       d   \        R4       \        P                  ! 4       pV P                  4        \        P                  ! 4       p\        '       d   \        RW!,
          ,          4       RV n        V P                  '       dU   V P                  RR	4      '       d;   \        '       d   \        R
4       V P                  ^V P                  4      V n         R # R # R #   RT n        i ; i)Nzno delegatezauto colorizing is offzalready colorizingFTzcolorizing...z%.3f secondsrx   rc   zreschedule colorizing)r]   re   r|   r}   r^   r`   r_   timeperf_counterrecolorize_maintag_nextranger   r   )rZ   t0t1s   &  r   r   ColorDelegator.recolorize   s    }}}ueM*$$$ue45???ue01		$#(D "DOueO,""$B  """$BueNbe45#DO   T%7%7%F%Fue34 JJq$//:DM &G  $DOs   
E< $AE< 5E< <	Fc                F   R pV P                  RV4      ;p'       Ed   V P                  RV^ ,          V^,          4       V P                  RV^ ,          4      pV'       d
   V^,          MR pRpTp^pRpV'       d   Kz  TpV P                  VRV,          ,           4      p\	        V^,          ^d4      pRV P                  VR,           4      9   pV P                  W4      p	V	'       g   R# V P                   F  p
V P                  WV4       K  	  WY,          pV P                  WT4       RV P                  VR,           4      9   d   TpRpMRpV'       g   V P                  RV4       V P                  4        V P                  '       g   EK  \        '       d   \        R4       R# R# )	rc   rx   r    Fz+%d lines linestartz-1cNzcolorizing stopped)r   
tag_removetag_prevranger   min	tag_namesgetro   _add_tags_in_sectionr   update_idletasksr_   r|   r}   )rZ   nexttodo_tag_rangesync_tag_rangeheadr   lines_to_getokmarklinerr   s   &          r   r   ColorDelegator.recolorize_main  so    $ 2 264 @@n@OOFN1$5~a7HI!//q8IJN(6>!$EDEDLBbzz$)>)5*6 #6 7"<!#3S9t~~dUl;;xx+<<COOCt4 ())%6T^^D5L99DEB LL.%%''''ue$89O Ar   c                t    \         P                  VV4      pV P                  VV R VR R2V R VR R24       R# )+dcN)prog_group_name_to_tagr   r   )rZ   startrd   r   matched_group_namerr   s   &&&&& r   _add_tagColorDelegator._add_tag>  sL     %((););=SvQuQiq)vQs1gQ'	)r   c                d   V P                   P                  V4       F  p\        V4       F~  w  rEVP                  V4      w  rgV P	                  WgW$4       VR9   g   K3  V P
                  P                  W4      ;p'       g   KX  VP                  ^4      w  rgV P	                  WgVR4       K  	  K  	  R# )defrv   N)r   class)r,   finditerr>   spanr   rW   match)	rZ   r   r   mr	   matched_textabm1s	   &&&      r   r   #ColorDelegator._add_tags_in_sectionO  s     ##E*A&:1&="vvd|aD/#33![[..u88r88!wwqzaD,? '> +r   c                R    V P                    F  pV P                  VR R4       K  	  R# )rc   rd   N)ro   r   )rZ   rr   s   & r   removecolorsColorDelegator.removecolors`  s     <<COOC.  r   )r]   r^   r`   rW   r,   r_   ro   r4   )__name__
__module____qualname____firstlineno__rU   rV   rg   rh   rX   r   r   rk   r   rj   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   rS   rS   f   sX       *.1(>"$0 ;D*X)"@"/ /r   rS   c                    ^ RI HpHp ^ RIHp ^ RIHp V! V 4      pVP                  R4       \        \        V P                  4       P                  R4      R,          4      w  rgVP                  RV^,           V^,           3,          4       V! VRR	7      pVP                  ^R
R7       VP                  RV4       VP                  4        \        V4       V! V4      p	\!        4       p
V	P#                  V
4       R# )r   )ToplevelText)source)
PercolatorzTest ColorDelegatorr   :   NNz700x550+%d+%dwhite)rD   both)expandfillr   N)tkinterr   r    idlelib.idle_test.test_colorizerr   idlelib.percolatorr   titlemapintgeometrysplitpackr   	focus_setrQ   rS   insertfilter)parentr   r   r   r   topxyrL   pr   s   &          r   _color_delegatorr   f  s    &7-
6
CII#$sFOO%++C045DALLAFAG#445(DIIQVI$KK&!NN4AANN1r   __main__)mainz idlelib.idle_test.test_colorizer)	verbosityexit)run)r   r   r   r   idlelib.configr   idlelib.delegatorr   r|   r   r-   r,   r   rW   r   r>   rQ   rS   r   r   unittestr   idlelib.idle_test.htestr   r5   r   r   <module>r      s      	  # '9
.b z	K	 I9yI	 D

*}/Y }/@* z	+quE+ r   