B  ³k›H(ã@sBddlZddlZGdd„dƒZedkr>ddlmZeddddS) éNc@s<eZdZejejdZdd„Zdd„Zdd„Z dd „Z d S) Ú AutoExpandÚ_cCs|j|_|jj|_d|_dS)N)ÚtextÚbellÚstate)ÚselfZeditwin©rú5/opt/alt/python37/lib/python3.7/idlelib/autoexpand.pyÚ__init__s zAutoExpand.__init__c Csè|j d¡}|j dd¡}|js.| ¡}d}n*|j\}}}}||ksL||krX| ¡}d}|sh| ¡dS| ¡}|j dt|ƒd¡||} |dt|ƒ}|dkr®| ¡|j  d| ¡|j d¡}|j dd¡}||||f|_dS)NÚinsertzinsert linestartzinsert lineendrÚbreakzinsert - %d charsé) rÚindexÚgetrÚgetwordsrÚ getprevwordÚdeleteÚlenr ) rZeventZ curinsertZcurlineÚwordsrr ÚlineÚwordZnewwordrrr Úexpand_word_events.  zAutoExpand.expand_word_eventc CsÚ| ¡}|sgS|j dd¡}t d|d|¡}~|j dd¡}t d|d|¡}~|sd|sdgSg}i}| ¡x*|D]"}| |¡rŠqz| |¡|||<qzWx*|D]"}| |¡r¶q¦| |¡|||<q¦W| |¡|S)Nz1.0zinsert wordstartz\bz\w+\bzinsert wordendÚend)rrrÚreÚfindallÚreverseÚappend) rrZbeforeZwbeforeZafterZwafterrÚdictÚwrrr r6s4         zAutoExpand.getwordscCsJ|j dd¡}t|ƒ}x&|dkr<||d|jkr<|d}qW||d…S)Nzinsert linestartr rr )rrrÚ wordchars)rrÚirrr rUs  zAutoExpand.getprevwordN) Ú__name__Ú __module__Ú __qualname__ÚstringZ ascii_lettersÚdigitsrr rrrrrrr rs rÚ__main__)Úmainz!idlelib.idle_test.test_autoexpandé)Ú verbosity)rr$rr!Zunittestr'rrrr Ús K