
    .hh                     P    S SK r S SKr " S S5      r\S:X  a  S SKJr  \" SSS9  gg)	    Nc                   d    \ rS rSr\R
                  \R                  -   S-   rS rS r	S r
S rSrg)	
AutoExpand   _c                 j    UR                   U l         U R                   R                  U l        S U l        g )N)textbellstate)selfeditwins     ;/opt/python-3.13.8/usr/lib/python3.13/idlelib/autoexpand.py__init__AutoExpand.__init__   s#    LL	IINN	
    c                    U R                   R                  S5      nU R                   R                  SS5      nU R                  (       d  U R	                  5       nSnO+U R                  u  pEpgXb:w  d  Xs:w  a  U R	                  5       nSnU(       d  U R                  5         gU R                  5       nU R                   R                  S[        U5      -  S5        XE   n	US-   [        U5      -  nUS:X  a  U R                  5         U R                   R                  SU	5        U R                   R                  S5      nU R                   R                  SS5      nXEX#4U l        g)Ninsertinsert linestartzinsert lineendr   breakzinsert - %d chars   )
r   indexgetr
   getwordsr	   getprevworddeletelenr   )
r   event	curinsertcurlinewordsr   r   linewordnewwords
             r   expand_word_eventAutoExpand.expand_word_event   s   IIOOH-	))-- 24DEzzMMOEE)-&E&"doIIK!		,s4y8(C,c%j(A:IIK		7+IIOOH-	))-- 24DE95
r   c                 b   U R                  5       nU(       d  / $ U R                  R                  SS5      n[        R                  " SU-   S-   U5      nAU R                  R                  SS5      n[        R                  " SU-   S-   U5      nAU(       d	  U(       d  / $ / n0 nUR                  5         U H0  nUR                  U5      (       a  M  UR                  U5        XU'   M2     U H0  nUR                  U5      (       a  M  UR                  U5        XU'   M2     UR                  U5        U$ )Nz1.0zinsert wordstartz\bz\w+\bzinsert wordendend)r   r   r   refindallreverseappend)	r   r!   beforewbeforeafterwafterr   dictws	            r   r   AutoExpand.getwords6   s   !Iu&89**UT\H4f=		.6EDL83U;vIAxx{{LLOG	  Axx{{LLOG	 
 	Tr   c                     U R                   R                  SS5      n[        U5      nUS:  a7  XS-
     U R                  ;   a"  US-
  nUS:  a  XS-
     U R                  ;   a  M"  XS  $ )Nr   r   r   r   )r   r   r   	wordchars)r   r    is      r   r   AutoExpand.getprevwordU   sd    yy}}/:I!eqS	T^^3!A !eqS	T^^3Bxr   )r	   r
   r   N)__name__
__module____qualname____firstlineno__stringascii_lettersdigitsr3   r   r#   r   r   __static_attributes__ r   r   r   r      s/    $$v}}4s:I
6>r   r   __main__)mainz!idlelib.idle_test.test_autoexpand   )	verbosity)r'   r:   r   r6   unittestr@   r>   r   r   <module>rD      s7    
 H HV z	,: r   