B  kl@sddlZddlZddlZddlZd\ZZddlmZddlm Z ddl m Z dZ dZ dddefZdddefZejejd Zejejrejnd Zd eZGd d d ZeedkrddlmZeddddS)N)r)autocomplete_w)idleConf) HyperParser)TFTN)FTTNF_.c@sneZdZdddZeddZddZddd Zd d Zd d Z dddZ ddZ ddZ ddZ ddZdS) AutoCompleteNcCs,||_|dk r|j|_d|_d|_d|_dS)N)editwintextautocompletewindow_delayed_completion_id_delayed_completion_index)selfr r7/opt/alt/python37/lib/python3.7/idlelib/autocomplete.py__init__!s zAutoComplete.__init__cCstjdddddd|_dS)N extensionsr popupwaitintr)typedefault)rZ GetOptionr)clsrrrreload,szAutoComplete.reloadcCs t|jS)N)rZAutoCompleteWindowr )rrrr_make_autocomplete_window1sz&AutoComplete._make_autocomplete_windowcCs|jr|jd|_dS)N)r Z hide_window)reventrrr_remove_autocomplete_window4s z(AutoComplete._remove_autocomplete_windowcCs|tdS)Nbreak)open_completionsFORCE)rrrrrforce_open_completions_event9s z)AutoComplete.force_open_completions_eventcCs^t|dr|js"|jdds&dS|jrD|jrD|jdS|t }|rVdSdSdS)Nmc_statezinsert linestartinsertr) hasattrr!r getstripr Z is_activecompleterTAB)rrZopenedrrrautocomplete_event>s  zAutoComplete.autocomplete_eventcCsd|jd}|tkr`|dkr tnt}|jd|_|jdk rJ|j|j|j |j |j ||_dS)Nz insert-1crr") r r$TRIGGERSTRY_ATRY_Findexrr after_cancelZafterr_delayed_open_completions)rrZlastcharargsrrrtry_open_completions_eventLs  z'AutoComplete.try_open_completions_eventcCs&d|_|jd|jkr"||dS)Nr")r r r,rr)rr/rrrr.Wsz&AutoComplete._delayed_open_completionsc Cs|\}}}}|jdk r*|j|jd|_t|jd}|jdd}t|}} |r|rd|tkr| t}x$|r||ddt kr|d8}qrW||| } |} x |r||ddkr|d8}qW||| } n| r|r|t kr| t }x:|r4||dt ks*t||ddkr4|d8}qW||| } |r||ddkr|dt||d|} | r|s| dd krdSnd } ndS|r| s| sdS|| |} | d sdS||_|j| dt| ||| S) Nr"zinsert linestartrz'"rz insert-%dc(rr)r r r-rr r$lenZ is_in_stringFILESrSEPSZ is_in_codeATTRSID_CHARSordZ set_indexZget_expressionfindfetch_completionsrr Z show_window) rr/Z evalfuncsr&ZwantwinmodeZhpZcurlineijZ comp_startZ comp_whatZ comp_listsrrrr]sP       0      zAutoComplete.open_completionsc Cs`y|jjjjj}Wnd}YnX|r<|dd||fiS|tkr|dkrtjj tj }t d|}| d|krt t d|}qdd|D}nPy@| |}t|}| d|krt |j}ndd|D}WnggfSnd|tkrJ|dkrd }y0tj|}t|}| d d|D}Wntk rHggfSX|sT|}||fSdS) NexecZget_the_completion_listrzdir()__all__cSs g|]}|dddkr|qS)Nrrr).0srrr sz2AutoComplete.fetch_completions..cSs g|]}|dddkr|qS)Nrrr)rArBrrrrCsrcSs g|]}|dddkr|qS)Nrrr)rArBrrrrCs)r flistZpyshellZinterprpccltZ remotecallr7__main__ __builtins____dict__evalsortsorted get_entitydirr@r5ospath expanduserlistdirOSError) rZwhatr<rE namespaceZbiglZsmalllZentityZ expandedpathrrrr;sL            zAutoComplete.fetch_completionscCst|tjtjS)N)rIsysmodulesrFrH)rnamerrrrLszAutoComplete.get_entity)N)N)N)__name__ __module__ __qualname__r classmethodrrrr r(r0r.rr;rLrrrrr s   <9r rF)mainz#idlelib.idle_test.test_autocomplete) verbosity)rFrNstringrTr7r5ZidlelibrZidlelib.configrZidlelib.hyperparserrrr'r*r+Z ascii_lettersdigitsr8sepaltsepr6r)r rrWZunittestr[rrrrs(      9