
    ;e                     h    	 d dl Z d dlZ G d d          Zedk    rd dlmZ  edd           dS dS )	    Nc                   J    e Zd Zej        ej        z   dz   Zd Zd Zd Z	d Z
dS )
AutoExpand_c                 N    |j         | _         | j         j        | _        d | _        d S )N)textbellstate)selfeditwins     )/usr/lib/python3.11/idlelib/autoexpand.py__init__zAutoExpand.__init__   s!    L	IN	


    c                    	 | j                             d          }| j                             dd          }| j        s|                                 }d}n.| j        \  }}}}||k    s||k    r|                                 }d}|s|                                  dS |                                 }| j                             dt          |          z  d           ||         }	|dz   t          |          z  }|dk    r|                                  | j         	                    d|	           | j                             d          }| j                             dd          }||||f| _        dS )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_eventzAutoExpand.expand_word_event   s[   ;IOOH--	)-- 24DEEz 	MMOOEEE)-&E5&$""dgoo 	IIKKK7!!	,s4yy8(CCC,c%jj(A::IIKKK	7+++IOOH--	)-- 24DEEE9g5
wr   c                 N   	 |                                  }|sg S | j                            dd          }t          j        d|z   dz   |          }~| j                            dd          }t          j        d|z   dz   |          }~|s|sg S g }i }|                                 |D ]2}|                    |          r|                    |           |||<   3|D ]2}|                    |          r|                    |           |||<   3|                    |           |S )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   zAutoExpand.getwords6   sJ   I!! 	Iu&899*UT\H4f==	.66EDL83U;; 	v 	I 	 	Axx{{ LLOOODGG 	 	Axx{{ LLOOODGGTr   c                     	 | j                             dd          }t          |          }|dk    r/||dz
           | j        v r|dz
  }|dk    r||dz
           | j        v ||d          S )Nr   r   r   r   )r   r   r   	wordchars)r
   r   is      r   r   zAutoExpand.getprevwordU   sx    3y}}/::II!eeQqS	T^33!A !eeQqS	T^33ABBxr   N)__name__
__module____qualname__stringascii_lettersdigitsr/   r   r!   r   r    r   r   r   r      sd        $v}4s:I  
  6  >    r   r   __main__)mainz!idlelib.idle_test.test_autoexpand   )	verbosity)r$   r4   r   r1   unittestr9   r7   r   r   <module>r=      s    
			 H H H H H H H HV zD	,:::::: r   