B „ fú" ã @ sÞ d Z ddlZddlZddlZddlZd\ZZddlmZ ddl m Z ddlmZ dZ dZd d d efZd d d efZejej d Zej› ejr’ejnd› �Zde› �ZG d d„ dƒZe ¡ edkrÚddlmZ eddd� 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)r é )Úautocomplete_w)ÚidleConf)ÚHyperParser)TFTN)FTTNFÚ_Ú Ú.c @ sn e Zd Zddd„Zedd„ ƒZdd„ Zddd „Zd d„ Zdd „ Z ddd„Z dd„ Zdd„ Zdd„ Z dd„ 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/python37/lib64/python3.7/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¡S )N)r ZAutoCompleteWindowr )r r r r Ú_make_autocomplete_window1 s z&AutoComplete._make_autocomplete_windowc C s | j r| j ¡ d | _ d S )N)r Zhide_window)r Úeventr r r Ú_remove_autocomplete_window4 s z(AutoComplete._remove_autocomplete_windowc C s | t¡ dS )zA(^space) Open completion list, even if a function call is needed.Úbreak)Úopen_completionsÚFORCE)r r r r r Úforce_open_completions_event9 s z)AutoComplete.force_open_completions_eventc C s^ t |dƒr|js"| j dd¡ ¡ s&dS | jrD| j ¡ rD| j ¡ dS | t ¡}|rVdS dS dS )z5(tab) Complete word or open list if multiple options.Úmc_statezinsert linestartÚinsertNr ) Úhasattrr! r ÚgetÚstripr Z is_activeÚcompleter ÚTAB)r r Zopenedr r r Úautocomplete_event> s zAutoComplete.autocomplete_eventc C sd | j d¡}|tkr`|dkr tnt}| j d¡| _| jdk rJ| j | j¡ | j | j | j|¡| _dS )z7(./) Open completion list after pause with no movement.z insert-1cr r" N)r r$ ÚTRIGGERSÚTRY_AÚTRY_FÚindexr r Úafter_cancelZafterr Ú_delayed_open_completions)r r ZlastcharÚargsr r r Útry_open_completions_eventL s z'AutoComplete.try_open_completions_eventc C s&