B kl @ s d Z ddlZddlZddlZddlZd\ZZddlmZ ddl m Z ddlmZ dZ dZd d d efZd d d efZejej d Zej ejrejnd Zde ZG d d dZe edkrddlmZ eddd dS )zComplete 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 ZdddZedd Zdd Zddd Zd d Zdd Z dddZ dd Zdd Zdd Z dd ZdS )AutoCompleteNc C s, || _ |d k r|j| _d | _d | _d | _d S )N)editwintextautocompletewindow_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 popupwaitintr )typedefault)r Z GetOptionr )clsr r r reload, s zAutoComplete.reloadc C s t | jS )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_completionsFORCE)r r r r r force_open_completions_event9 s z)AutoComplete.force_open_completions_eventc C s^ t |dr|js"| jdd s&dS | jrD| j rD| j dS | t }|rVdS dS dS )z5(tab) Complete word or open list if multiple options.mc_statezinsert linestartinsertNr ) hasattrr! r getstripr Z is_activecompleter 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$ TRIGGERSTRY_ATRY_Findexr r after_cancelZafterr _delayed_open_completions)r r Zlastcharargsr r r try_open_completions_eventL s z'AutoComplete.try_open_completions_eventc C s&