Current File : //usr/local/apps/python3/lib/python3.11/idlelib/__pycache__/autocomplete.cpython-311.opt-2.pyc
�

�Ke�$����	ddlZddlZddlZddlZddlZd�ejD��Ze�d��e���d\Z	Z
ddlmZddl
mZddlmZdZd	Zd
d
d
e	fZd
d
d
e
fZejejzdzZej�ejrejnd��Zd
e��ZGd�d��Ze���edkrddlm Z e dd���dSdS)�Nc��g|]}|dv�|��	S)>�None�True�False���.0�ss  �>/usr/local/apps/python3/lib/python3.11/idlelib/autocomplete.py�
<listcomp>r
s-��<�<�<���!:�:�:��:�:�:�)�match�case)r�)�autocomplete_w)�idleConf)�HyperParser)TFTN)FTTNF�_��.c�f�eZdZd
d�Zed���Zd�Zdd�Zd�Zd�Z	dd�Z
d	�Zd
�Zd�Z
d�ZdS)�AutoCompleteNc�h�||_|�|j|_||_d|_d|_d|_dS�N)�editwin�text�tags�autocompletewindow�_delayed_completion_id�_delayed_completion_index)�selfrrs   r�__init__zAutoComplete.__init__(s?���������D�I���	�"&���'+��#�)-��&�&�&r
c�B�tjddddd���|_dS)N�
extensionsr�	popupwait�intr)�type�default)r�	GetOptionr%)�clss r�reloadzAutoComplete.reload4s-�� �*��.�+�E�1�N�N�N��
�
�
r
c�B�tj|j|j���S)N)r)r�AutoCompleteWindowrr)r!s r�_make_autocomplete_windowz&AutoComplete._make_autocomplete_window9s���0�����K�K�K�Kr
c�X�|jr"|j���d|_dSdSr)r�hide_window�r!�events  r�_remove_autocomplete_windowz(AutoComplete._remove_autocomplete_window<s:���"�	+��#�/�/�1�1�1�&*�D�#�#�#�	+�	+r
c�<�	|�t��dS)N�break)�open_completions�FORCEr1s  r�force_open_completions_eventz)AutoComplete.force_open_completions_eventAs��K����e�$�$�$��wr
c�F�	t|d��r|js-|j�dd�����sdS|jr4|j���r|j���dS|�t��}|rdndS)N�mc_state�insert linestart�insertr5)
�hasattrr:r�get�stripr�	is_active�completer6�TAB)r!r2�openeds   r�autocomplete_eventzAutoComplete.autocomplete_eventFs���?��5�*�%�%�	�%�.�	��I�M�M�"4�h�?�?�E�E�G�G�	��4��"�	/�t�'>�'H�'H�'J�'J�	/��#�,�,�.�.�.��7��*�*�3�/�/�F�$�.�7�7�$�.r
c�Z�	|j�d��}|tvr�|dkrtnt}|j�d��|_|j�|j�|j��|j�	|j
|j|��|_dSdS)Nz	insert-1crr<)rr>�TRIGGERS�TRY_A�TRY_F�indexr r�after_cancel�afterr%�_delayed_open_completions)r!r2�lastchar�argss    r�try_open_completions_eventz'AutoComplete.try_open_completions_eventTs���A��9�=�=��-�-���x���$��O�O�5�5��D�-1�Y�_�_�X�-F�-F�D�*��*�6��	�&�&�t�'B�C�C�C�*.�)�/�/���� >��+F�+F�D�'�'�'� �r
c��	d|_|j�d��|jkr|�|��dSdS)Nr<)rrrIr r6)r!rNs  rrLz&AutoComplete._delayed_open_completions_sL��3�&*��#��9�?�?�8�$�$��(F�F�F��!�!�$�'�'�'�'�'�G�Fr
c�d�	|\}}}}|j�&|j�|j��d|_t|jd��}|j�dd��}t
|��x}}	|���r�|r|tkr�|�	��t}|r1||dz
dtzvr|dz}|r||dz
dtzv�|||	�}
|}	|r!||dz
dvr|dz}|r
||dz
dv�|||	�}�n!|����r
|r|tkr�|�	��t}|rc||dz
tvst||dz
��dkr5|dz}|r.||dz
tv�t||dz
��dk�5|||	�}
|rn||dz
dkr_|�dt
|��|dz
z
z��|���}|r|s|�d��d	krdSnd
}ndS|r|s|
sdS|�||��}|dsdS|���|_|j�|dt
|
��z|||��S)Nr<r;rz'"�rz
insert-%dc�(���rr)rrrJrrr>�len�is_in_string�FILESr3�SEPS�
is_in_code�ATTRS�ID_CHARS�ord�	set_index�get_expression�find�fetch_completionsr.r�show_window)
r!rN�	evalfuncsrA�wantwin�mode�hp�curline�i�j�
comp_start�	comp_what�
comp_listss
             rr6zAutoComplete.open_completionses%��	�.2�*�	�8�W�d��&�2��I�"�"�4�#>�?�?�?�*.�D�'�
���x�
0�
0���)�-�-� 2�H�=�=���G�����A�
�?�?��� 	�d� 	�d�E�k�k�
�,�,�.�.�.��D��
���!���E�D�L�8�8��Q����
���!���E�D�L�8�8� ��1���J��A��
���!���E�1�1��Q����
���!���E�1�1���!���I�I�
�]�]�_�_�	�d�	�d�E�k�k��,�,�.�.�.��D��
���1����1�1�S���1���5F�5F��5L�5L��Q����
���1����1�1�S���1���5F�5F��5L�5L� ��1���J��
�W�Q�q�S�\�S�(�(����\�S��\�\�1�Q�3�-?�@�A�A�A��-�-�/�/�	�!� �!� �&/�n�n�S�&9�&9�R�&?�&?��4���	�	��4��	�I�	�j�	��4��+�+�I�t�<�<�
��!�}�	��4�"&�"@�"@�"B�"B����*�6�6��L�3�z�?�?�:��$��)�)�)�	)r
c��		|jjjjj}n	#d}YnxYw|r|�dd||fi��S|tkr�|dkr�itjj	�tj	�}td|��}|�t��|�
��d|vrttd|����}n�d�|D��}n�	|�|��}t!|��}|�
��d|vrt|j��}nd�|D��}n�#ggfcYSxYw|t$krq|dkrd}	t&j�|��}t'j|��}|�
��d	�|D��}n#t.$rggfcYSwxYw|s|}||fS)
N�exec�get_the_completion_listrzdir()�__all__c�.�g|]}|dd�dk�|��S�Nrrrrs  rrz2AutoComplete.fetch_completions.<locals>.<listcomp>�s%��!B�!B�!B��Q�r��r�U�c�\�\�!�\�\�\r
c�.�g|]}|dd�dk�|��Srqrrs  rrz2AutoComplete.fetch_completions.<locals>.<listcomp>�s%��%F�%F�%F�A��2�A�2��#���a���r
rc�.�g|]}|dd�dk�|��S)Nrrrrs  rrz2AutoComplete.fetch_completions.<locals>.<listcomp>�s%��>�>�>�A��2�A�2��#���a���r
)r�flist�pyshell�interp�rpcclt�
remotecallrZ�__main__�__builtins__�__dict__�eval�extend�completion_kwds�sort�sorted�
get_entity�dirrorW�os�path�
expanduser�listdir�OSError)	r!�whatrdrw�	namespace�bigl�smalll�entity�expandedpaths	         rr`zAutoComplete.fetch_completions�s��
	�	��\�'�/�6�=�F�F��	��F�F�F�����(	 ��$�$�V�-F�&*�D�\�2�7�7�
7��u�}�}��2�:�:�!6�8�#8�#A�!6�#+�#4�!6�I����3�3�D��K�K��0�0�0��I�I�K�K�K� �D�(�(�!'��Y�	�(B�(B�!C�!C���!B�!B�T�!B�!B�!B���	&�!%����!6�!6��"�6�{�{���	�	����$��,�,�%+�F�N�%;�%;�F�F�%F�%F��%F�%F�%F�F���&�!�2�v�
�
�
���������2�:�:��D�"�#%�7�#5�#5�d�#;�#;�L��:�l�3�3�D��I�I�K�K�K�>�>��>�>�>�F�F���"�"�"��r�6�M�M�M�"�����
����4�<�s(��%�"AE�E�AF3�3G�Gc�T�	t|itj�tj���Sr)r|�sys�modulesryr{)r!�names  rr�zAutoComplete.get_entity�s%��L��D�>�S�[�>�H�,=�>�?�?�?r
)NNr)�__name__�
__module__�__qualname__r"�classmethodr+r.r3r8rDrOrLr6r`r�rr
rrr&s�������
.�
.�
.�
.��N�N��[�N�L�L�L�+�+�+�+�
���
/�/�/�	F�	F�	F�	F�(�(�(�:)�:)�:)�x8 �8 �8 �t@�@�@�@�@r
rry)�mainz#idlelib.idle_test.test_autocomplete�)�	verbosity)!ry�keywordr��stringr��kwlistr~r}rrZrW�idlelibr�idlelib.configr�idlelib.hyperparserrr7rBrGrH�
ascii_letters�digitsr[�sep�altseprXrFrr+r��unittestr�rr
r�<module>r�s����
��������	�	�	�	�
�
�
�
�
�
�
�
�<�<�g�n�<�<�<�����(�)�)�)����������u�"�"�"�"�"�"�#�#�#�#�#�#�+�+�+�+�+�+�	*��)��
�%�E�U�*��
�%�E�U�*����&�-�/�#�5��
�&�2�r�y�0�"�)�)�b�2�2���t�:�:��w@�w@�w@�w@�w@�w@�w@�w@�t
�������z����������D�	.�!�<�<�<�<�<�<��r