a 9êdg ã@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ú./usr/local/lib/python3.9/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Úinsertúinsert linestartzinsert lineendrÚbreakzinsert - %d charsé) rÚindexÚgetrÚgetwordsrÚ getprevwordÚdeleteÚlenr ) rÚeventZ 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}| ¡|D]"}| |¡rˆqx| |¡|||<qx|D]"}| |¡r°q | |¡|||<q | |¡|S)Nz1.0zinsert wordstartz\bz\w+\bzinsert wordendÚend)rrrÚreÚfindallÚreverseÚappend) rrÚbeforeZwbeforeZafterZwafterrÚdictÚwrrr r6s4       zAutoExpand.getwordscCsF|j dd¡}t|ƒ}|dkr:||d|jvr:|d}q||d…S)Nr r rr)rrrÚ wordchars)rrÚirrr rUs  zAutoExpand.getprevwordN) Ú__name__Ú __module__Ú __qualname__ÚstringÚ ascii_lettersÚdigitsr"r rrrrrrr rs rÚ__main__)Úmainz!idlelib.idle_test.test_autoexpandé)Ú verbosity)rr'rr$Zunittestr+rrrr Ús K