File: //usr/local/lib/python3.10/idlelib/__pycache__/calltip.cpython-310.opt-2.pyc
o
�ic � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm Z G dd� d�Z
dd� ZdZd Z
d
Ze�d�ZdZd
Zdd� ZedkrUd dlmZ eddd� dS dS )� N)� calltip_w)�HyperParserc @ sX e Zd Zddd�Zdd� Zdd� Zddd �Zd
d� Zdd
� Zdd� Z dd� Z
dd� ZdS )�CalltipNc C s2 |d u r d | _ d S || _ |j| _d | _| j| _d S �N)�editwin�text�active_calltip�_make_tk_calltip_window�_calltip_window)�selfr � r �,/usr/local/lib/python3.10/idlelib/calltip.py�__init__ s
zCalltip.__init__c C s
d | _ d S r )r
�r r r r
�close s
z
Calltip.closec C s t �| j�S r )r Z
CalltipWindowr r r r r
r s zCalltip._make_tk_calltip_windowc C s | j r
| j �� d | _ d S d S r )r Zhidetip�r �eventr r r
�remove_calltip_window$ s
�zCalltip.remove_calltip_windowc C s | � d� dS )NT�break��open_calltipr r r r
�force_open_calltip_event) s
z Calltip.force_open_calltip_eventc C s | � d� d S �NFr r r r r
�try_open_calltip_event. s zCalltip.try_open_calltip_eventc C s$ | j r| j jr| �d� d S d S d S r )r Z tipwindowr r r r r
�refresh_calltip_event5 s �zCalltip.refresh_calltip_eventc C s� t | jd�}|�d�}|s| �� d S | jr1tt|d �d��\}}||f| jj| jj fkr1d S |�
|d � z|�� }W n tyI d }Y nw |sNd S | �� |s]|�
d�dkr]d S | �|�}|sfd S | �� | _| j�||d |d � d S )N�insert�(r �.���� )r r Zget_surrounding_bracketsr r �map�int�splitZ parenlineZparencolZ set_indexZget_expression�
ValueError�find� fetch_tipr
Zshowtip)r Z evalfuncsZhpZ sur_parenZopener_lineZ
opener_col�
expression�argspecr r r
r 9 s8
��
zCalltip.open_calltipc C sN z | j jjjj}W n ty d }Y nw |r!|�dd|fi �S tt|��S )N�execZget_the_calltip) r �flistZpyshellZinterp�rpcclt�AttributeErrorZ
remotecall�get_argspec�
get_entity)r r&