ó
|Nc           @   s/   d  d l  Z  d  d l Z d d d „  ƒ  YZ d S(   iÿÿÿÿNt
   AutoExpandc           B   sR   e  Z d  d g f g Z e j e j d Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   t   edits   E_xpand Words   <<expand-word>>t   _c         C   s   | j  |  _  d  |  _ d  S(   N(   t   textt   Nonet   state(   t   selft   editwin(    (    s'   C:\RCS\Python\lib\idlelib\AutoExpand.pyt   __init__   s    c   
      C   sT  |  j  j d ƒ } |  j  j d d ƒ } |  j sE |  j ƒ  } d } nB |  j \ } } } } | | k sr | | k r‡ |  j ƒ  } d } n  | sž |  j  j ƒ  d S|  j ƒ  } |  j  j d t | ƒ d ƒ | | }	 | d t | ƒ } | d k r|  j  j ƒ  n  |  j  j	 d |	 ƒ |  j  j d ƒ } |  j  j d d ƒ } | | | | f |  _ d S(   Nt   inserts   insert linestarts   insert lineendi    t   breaks   insert - %d charsi   (
   R   t   indext   getR   t   getwordst   bellt   getprevwordt   deletet   lenR	   (
   R   t   eventt	   curinsertt   curlinet   wordsR   R	   t   linet   wordt   newword(    (    s'   C:\RCS\Python\lib\idlelib\AutoExpand.pyt   expand_word_event   s.    			
c   	      C   s-  |  j  ƒ  } | s g  S|  j j d d ƒ } t j d | d | ƒ } ~ |  j j d d ƒ } t j d | d | ƒ } ~ | rŒ | rŒ g  Sg  } i  } | j ƒ  x: | D]2 } | j | ƒ rÄ q© n  | j | ƒ | | | <q© Wx: | D]2 } | j | ƒ rqæ n  | j | ƒ | | | <qæ W| j | ƒ | S(   Ns   1.0s   insert wordstarts   \bs   \w+\bs   insert wordendt   end(   R   R   R   t   ret   findallt   reverset   append(	   R   R   t   beforet   wbeforet   aftert   wafterR   t   dictt   w(    (    s'   C:\RCS\Python\lib\idlelib\AutoExpand.pyR   0   s4    
c         C   s]   |  j  j d d ƒ } t | ƒ } x1 | d k rT | | d |  j k rT | d } q$ W| | S(   Ns   insert linestartR	   i    i   (   R   R   R   t	   wordchars(   R   R   t   i(    (    s'   C:\RCS\Python\lib\idlelib\AutoExpand.pyR   N   s
    &(   s   E_xpand Words   <<expand-word>>(   t   __name__t
   __module__t   menudefst   stringt   ascii_letterst   digitsR%   R   R   R   R   (    (    (    s'   C:\RCS\Python\lib\idlelib\AutoExpand.pyR       s   			(    (   R*   R   R    (    (    (    s'   C:\RCS\Python\lib\idlelib\AutoExpand.pyt   <module>   s   