3 § fl$ ã @ s¶ d Z ddlZddlZddlZeddƒ\ZZddlmZ ddl m Z ddlmZ ddl Z ejej d ZejZejr|eej7 ZG d d „ d ƒZejƒ edkr²ddlmZ ed dd� dS )z”Complete either attribute names or file names. Either on demand or after a user-selected delay after a key character, pop up a list of candidates. é Né é )Úautocomplete_w)ÚidleConf)ÚHyperParserÚ_c @ sv e Zd Zddd„Zedd„ ƒZdd„ Zddd „Zd d„ Zdd „ Z dd„ Z dd„ Zdd„ Zddd„Z dd„ Zdd„ ZdS )ÚAutoCompleteNc C s, || _ |d k r(|j| _d | _d | _d | _d S )N)ÚeditwinÚtextÚautocompletewindowÚ_delayed_completion_idÚ_delayed_completion_index)Úselfr © r ú9/opt/alt/python36/lib64/python3.6/idlelib/autocomplete.pyÚ__init__ s zAutoComplete.__init__c C s t jdddddd�| _d S )NÚ extensionsr Ú popupwaitÚintr )ÚtypeÚdefault)r Z GetOptionr )Úclsr r r Úreload) s zAutoComplete.reloadc C s t j| jƒS )N)r ZAutoCompleteWindowr )r r r r Ú_make_autocomplete_window. s z&AutoComplete._make_autocomplete_windowc C s | j r| j jƒ d | _ d S )N)r Zhide_window)r Úeventr r r Ú_remove_autocomplete_window1 s z(AutoComplete._remove_autocomplete_windowc C s | j dddƒ dS )zqHappens when the user really wants to open a completion list, even if a function call is needed. TFÚbreak)Úopen_completions)r r r r r Úforce_open_completions_event6 s z)AutoComplete.force_open_completions_eventc C sB | j jdƒ}|dkr&| jdddtƒ n|tkr>| jdddtƒ dS )z¥Happens when it would be nice to open a completion list, but not really necessary, for example after a dot, so function calls won't be made. z insert-1cÚ.FN)r ÚgetÚ_open_completions_laterÚCOMPLETE_ATTRIBUTESÚSEPSÚCOMPLETE_FILES)r r Zlastcharr r r Útry_open_completions_event= s z'AutoComplete.try_open_completions_eventc C sd t |dƒr|js$| jjddƒjƒ r(dS | jrF| jjƒ rF| jjƒ dS | jdddƒ}|r\dS dS dS )z¥Happens when the user wants to complete his word, and if necessary, open a completion list after that (if there is more than one completion) Úmc_statezinsert linestartÚinsertNr FT) Úhasattrr&