a  ze#@sddlZddlZddlZddlZddlZd\ZZddlmZddl m Z ddl m Z dZ dZdddefZdddefZejejd 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,||_|dur|j|_d|_d|_d|_dSN)editwintextautocompletewindow_delayed_completion_id_delayed_completion_index)selfr rH/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/autocomplete.py__init__"s zAutoComplete.__init__cCstjdddddd|_dS)N extensionsr popupwaitintr)typedefault)rZ GetOptionr)clsrrrreload-s zAutoComplete.reloadcCs t|jSr )rZAutoCompleteWindowr )rrrr_make_autocomplete_window2sz&AutoComplete._make_autocomplete_windowcCs|jr|jd|_dSr )r Z hide_windowreventrrr_remove_autocomplete_window5s z(AutoComplete._remove_autocomplete_windowcCs|tdS)Nbreak)open_completionsFORCErrrrforce_open_completions_event:s z)AutoComplete.force_open_completions_eventcCs^t|dr|js"|jdds&dS|jrD|jrD|jdS|t }|rVdSdSdS)Nmc_stateinsert linestartinsertr) hasattrr#r getstripr Z is_activecompleter TAB)rrZopenedrrrautocomplete_event?s  zAutoComplete.autocomplete_eventcCsd|jd}|tvr`|dkr tnt}|jd|_|jdurJ|j|j|j |j |j ||_dS)Nz insert-1crr%) r r'TRIGGERSTRY_ATRY_Findexrr after_cancelZafterr_delayed_open_completions)rrZlastcharargsrrrtry_open_completions_eventMs   z'AutoComplete.try_open_completions_eventcCs&d|_|jd|jkr"||dS)Nr%)rr r/rr )rr2rrrr1Xsz&AutoComplete._delayed_open_completionsc Cs|\}}}}|jdur*|j|jd|_t|jd}|jdd}t|}} |r|rd|tkr| t}|r||ddt vr|d8}qp||| } |} |r||ddvr|d8}q||| } n| r|r|t kr| t }|r*||dt vs t||ddkr*|d8}q||| } |r||ddkr|dt||d|} | r|s| dd krdSnd } ndS|r| s| sdS|| |} | d sdS||_|j| dt| ||| S) Nr%r$rz'"rz insert-%dc(rr)rr r0rr r'lenZ is_in_stringFILESrSEPSZ is_in_codeATTRSID_CHARSordZ set_indexZget_expressionfindfetch_completionsrr Z show_window) rr2Z evalfuncsr)ZwantwinmodeZhpZcurlineijZ comp_startZ comp_whatZ comp_listsrrrr ^sX       .       zAutoComplete.open_completionsc Csz|jjjjj}Wnd}Yn0|r<|dd||fiS|tkr |dkritjj tj }t d|}ddt j D}| ||d|vrtt d|}ndd |D}nVz@||}t|}|d|vrt|j}nd d |D}WnggfYS0nf|tkrr|dkr$d }z0tj|} t| }|d d |D}WntypggfYS0|s||}||fSdS) NexecZget_the_completion_listrzdir()css|]}|dvr|VqdS)>TrueNoneFalseNr.0srrr sz1AutoComplete.fetch_completions..__all__cSs g|]}|dddkr|qSNrrrrFrrr z2AutoComplete.fetch_completions..cSs g|]}|dddkr|qSrKrrFrrrrLrMrcSs g|]}|dddkr|qS)NrrrrFrrrrLrM)r flistZpyshellZinterprpccltZ remotecallr:__main__ __builtins____dict__evalkeywordkwlistextendsortsorted get_entitydirrJr8ospath expanduserlistdirOSError) rZwhatr?rO namespaceZbiglkwdsZsmalllZentityZ expandedpathrrrr>sT            zAutoComplete.fetch_completionscCst|itjtjSr )rSsysmodulesrPrR)rnamerrrrYszAutoComplete.get_entity)N)N)N)__name__ __module__ __qualname__r classmethodrrrr"r+r3r1r r>rYrrrrr s    <s*      <