3 2al$@sddlZddlZddlZedd\ZZddlmZddlm Z ddl m Z ddl Z ej ejdZejZejrxeej7ZGdd d Zejed krdd lmZed dd dS)N)autocomplete_w)idleConf) HyperParser_c@sveZdZdddZeddZddZddd Zd d Zd d Z ddZ ddZ ddZ dddZ ddZddZdS) AutoCompleteNcCs,||_|dk r(|j|_d|_d|_d|_dS)N)editwintextautocompletewindow_delayed_completion_id_delayed_completion_index)selfr r1/opt/alt/python36/lib64/python3.6/autocomplete.py__init__s zAutoComplete.__init__cCstjdddddd|_dS)N extensionsr popupwaitintr)typedefault)rZ GetOptionr)clsrrrreload)szAutoComplete.reloadcCs tj|jS)N)rZAutoCompleteWindowr )rrrr_make_autocomplete_window.sz&AutoComplete._make_autocomplete_windowcCs|jr|jjd|_dS)N)r Z hide_window)reventrrr_remove_autocomplete_window1s z(AutoComplete._remove_autocomplete_windowcCs|jddddS)NTFbreak)open_completions)rrrrrforce_open_completions_event6sz)AutoComplete.force_open_completions_eventcCsB|jjd}|dkr&|jdddtn|tkr>|jdddtdS)Nz insert-1c.F)r get_open_completions_laterCOMPLETE_ATTRIBUTESSEPSCOMPLETE_FILES)rrZlastcharrrrtry_open_completions_event=s   z'AutoComplete.try_open_completions_eventcCsdt|dr|js$|jjddj r(dS|jrF|jjrF|jjdS|jddd}|r\dSdSdS)Nmc_statezinsert linestartinsertrFT) hasattrr&r r stripr Z is_activecompleter)rrZopenedrrrautocomplete_eventJs zAutoComplete.autocomplete_eventcGsD|jjd|_|jdk r&|jj|j|jj|j|jf||_dS)Nr')r indexr r after_cancelafterr_delayed_open_completions)rargsrrrr![s  z$AutoComplete._open_completions_latercGs&d|_|jjd|jkr"|j|dS)Nr')r r r,r r)rr0rrrr/csz&AutoComplete._delayed_open_completionsc Cs|jdk r|jj|jd|_t|jd}|jjdd}t|}}|jr| sZ|tkr|j t}x$|r||ddt kr|d8}qhW|||} |}x |r||ddkr|d8}qW|||} n|j o| s|t kr|j t }x:|r*||dt ks t||ddkr*|d8}qW|||} |r||ddkr|jdt||d|j} | s| r| jdd krdSnd } ndS|r| r| rdS|j| |} | d sdS|j|_|jj| dt| ||| S) Nr'zinsert linestartrz'"rz insert-%dc(r)r r r-rr r lenZ is_in_stringr$rr#Z is_in_coder"ID_CHARSordZ set_indexZget_expressionfindfetch_completionsrr Z show_window) rZ evalfuncsr*Z userWantsWinmodeZhpZcurlineijZ comp_startZ comp_whatZ comp_listsrrrrhsN      0      zAutoComplete.open_completionsc Csjy|jjjjj}Wnd}YnX|r<|jdd||fiS|tkr|dkrtjj }|j tj jt d|}|j d|krtt d|}qdd|D}nPy@|j|}t|}|j d|krt|j}ndd|D}WnggfSnd|tkrT|dkrd }y0tjj|}tj|}|j d d|D}Wntk rRggfSX|s^|}||fSdS) NexecZget_the_completion_listr3zdir()__all__cSs g|]}|dddkr|qS)Nrrr).0srrr sz2AutoComplete.fetch_completions..cSs g|]}|dddkr|qS)Nrrr)r?r@rrrrAsrcSs g|]}|dddkr|qS)Nrrr)r?r@rrrrAs)r flistZpyshellZinterprpccltZ remotecallr"__main____dict__copyupdate __builtins__evalsortsorted get_entitydirr>r$ospath expanduserlistdirOSError) rZwhatr:rC namespaceZbiglZsmalllZentityZ expandedpathrrrr9sL             zAutoComplete.fetch_completionscCs tjj}|jtjt||S)N)sysmodulesrFrGrDrErI)rnamerSrrrrLs  zAutoComplete.get_entity)N)N)N)__name__ __module__ __qualname__r classmethodrrrrr%r+r!r/rr9rLrrrrrs    ;9rrD)mainz#idlelib.idle_test.test_autocomplete) verbosity)rNstringrTranger"r$ZidlelibrZidlelib.configrZidlelib.hyperparserrrDZ ascii_lettersdigitsr6sepr#altseprrrWZunittestr[rrrrs"    H