3 2a @sBddlZddlZGdddZedkr>ddlmZeddddS) Nc@s<eZdZejejdZddZddZddZ dd Z d S) AutoExpand_cCs|j|_|jj|_d|_dS)N)textbellstate)selfZeditwinr//opt/alt/python36/lib64/python3.6/autoexpand.py__init__s zAutoExpand.__init__c Cs|jjd}|jjdd}|js.|j}d}n*|j\}}}}||ksL||krX|j}d}|sh|jdS|j}|jjdt|d||} |dt|}|dkr|j|jj d| |jjd}|jjdd}||||f|_dS)Ninsertzinsert linestartzinsert lineendrbreakzinsert - %d chars) rindexgetrgetwordsr getprevworddeletelenr ) rZeventZ curinsertZcurlinewordsrr linewordZnewwordrrr expand_word_events.  zAutoExpand.expand_word_eventc Cs|j}|sgS|jjdd}tjd|d|}~|jjdd}tjd|d|}~| rh| rhgSg}i}|jx*|D]"}|j|rq~|j||||<q~Wx*|D]"}|j|rq|j||||<qW|j||S)Nz1.0zinsert wordstartz\bz\w+\bzinsert wordendend)rrrrefindallreverseappend) rrZbeforeZwbeforeafterZwafterrdictwrrr r6s4          zAutoExpand.getwordscCsJ|jjdd}t|}x&|dkr<||d|jkr<|d}qW||dS)Nzinsert linestartr rr )rrr wordchars)rrirrr rUs  zAutoExpand.getprevwordN) __name__ __module__ __qualname__stringZ ascii_lettersdigitsr r rrrrrrr rs r__main__)mainz!idlelib.idle_test.test_autoexpand) verbosity)rr%rr"Zunittestr(rrrr s K