Your IP : 216.73.216.85
U
i�fc � @ 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� Zedkr�d dlmZ eddd� dS )� N)� calltip_w)�HyperParserc @ sX e Zd Zddd�Zdd� Zdd� Zddd �Zd
d� Zdd
� Zdd� Z dd� Z
dd� ZdS )�CalltipNc C s0 |d krd | _ n|| _ |j| _d | _| j| _d S �N)�editwin�text�active_calltip�_make_tk_calltip_window�_calltip_window)�selfr � r �4/opt/alt/python38/lib64/python3.8/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 r )r Zhidetip�r Zeventr 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 r )r Z tipwindowr r r r r
�refresh_calltip_event5 s zCalltip.refresh_calltip_eventc C s� t | jd�}|�d�}|s&| �� d S | jr`tt|d �d��\}}||f| jj| jj fkr`d S |�
|d � z|�� }W n tk
r� d }Y nX |s�d S | �� |s�|�
d�dkr�d S | �|�}|s�d 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 s6
��
zCalltip.open_calltipc C sR z| j jjjj}W n tk
r* d }Y nX |rB|�dd|fi �S tt|��S d S )N�execZget_the_calltip) r ZflistZpyshellZinterp�rpcclt�AttributeErrorZ
remotecall�get_argspec�
get_entity)r r% r( r r r
r$ l s
�zCalltip.fetch_tip)N)N)�__name__�
__module__�__qualname__r r r r r r r r r$ r r r r
r s
3r c C s8 | r4t jtj�}zt| |�W S tk
r2 Y d S X d S r )�sys�modules�__main__�__dict__�eval�
BaseException)r% � namespacer r r
r+ � s r+ �U � z z(?<=\()\w*\,?\s*zSee source or doczinvalid method signaturec
C sL z
| j }W n tk
r Y dS X t|tj�r2|n| }ztt�|��}W nD tk
r� } z&t|�}|� t
�rxt
W Y �
S d}W 5 d }~X Y nX t|t�r�|dkr�t}t
|�tkr�tj|ttd�n|r�|gng }t�| �}|�r8|�dt�d t� D ]D}|�� }|�s
�q8t
|�tk�r,|d td � d }|�|� q�d�|�}|�pJtS )N� z())Zsubsequent_indent�
� z...)�__call__r4 �
isinstance�types�
MethodType�str�inspectZ signature� Exception�
startswith�_invalid_method�type�_default_callable_argspec�len� _MAX_COLS�textwrapZwrap�_INDENTZgetdocr! �
_MAX_LINES�strip�append�join) ZobZob_callZfobr&