<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Š¹¼]C  ã               @   sZ   d  d l  Z  d  d l Z Gd d „  d ƒ Z e d k rV d  d l Z e j d d d ƒd S)é    Nc               @   sf   e  Z d  Z d d g f g Z e j e j d Z d d „  Z d d „  Z	 d	 d
 „  Z
 d d „  Z d S)Ú
AutoExpandZeditúE_xpand Wordú<<expand-word>>Ú_c             C   s   | j  |  _  d  |  _ d  S)N)ÚtextÚstate)ÚselfZeditwin© r	   ú//opt/alt/python35/lib64/python3.5/AutoExpand.pyÚ__init__    s    zAutoExpand.__init__c       
      C   sN  |  j  j d ƒ } |  j  j d d ƒ } |  j sE |  j ƒ  } d } n? |  j \ } } } } | | k sr | | k r„ |  j ƒ  } d } | s› |  j  j ƒ  d S|  j ƒ  } |  j  j d t | ƒ d ƒ | | }	 | d t | ƒ } | d k rû |  j  j ƒ  |  j  j	 d |	 ƒ |  j  j d ƒ } |  j  j d d ƒ } | | | | f |  _ d S)NÚinsertzinsert linestartzinsert lineendr   Úbreakzinsert - %d charsé   )
r   ÚindexÚgetr   ÚgetwordsZbellÚgetprevwordÚdeleteÚlenr   )
r   ÚeventZ	curinsertZcurlineÚwordsr   r   ÚlineÚwordZnewwordr	   r	   r
   Úexpand_word_event$   s.    		
zAutoExpand.expand_word_eventc       	      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 ƒ  x7 | D]/ } | j | ƒ rÁ q© | j | ƒ | | | <q© Wx7 | D]/ } | j | ƒ rû qã | j | ƒ | | | <qã W| j | ƒ | S)Nz1.0zinsert wordstartz\bz\w+\bzinsert wordendÚend)r   r   r   ÚreÚfindallÚreverseÚappend)	r   r   ZbeforeZwbeforeÚafterZwafterr   ÚdictÚwr	   r	   r
   r   ?   s4    
zAutoExpand.getwordsc             C   sc   |  j  j d d ƒ } t | ƒ } x1 | d k rT | | d |  j k rT | d } q$ W| | d  … S)Nzinsert linestartr   r   r   )r   r   r   Ú	wordchars)r   r   Úir	   r	   r
   r   ^   s
    &zAutoExpand.getprevwordN)r   r   )Ú__name__Ú
__module__Ú__qualname__ZmenudefsÚstringÚascii_lettersÚdigitsr"   r   r   r   r   r	   r	   r	   r
   r      s   r   Ú__main__z!idlelib.idle_test.test_autoexpandÚ	verbosityé   )r'   r   r   r$   ZunittestÚmainr	   r	   r	   r
   Ú<module>   s
   P