<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
2a                 @   s   d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	Z	G dd dZ
dd ZdZd	ZdZejdZdZdZdZdd Zedkrd dlmZ eddd dS )    N)	calltip_w)HyperParserc               @   sX   e Zd ZdddZdd Zdd Zddd	Zd
d Zdd Zdd Z	dd Z
dd ZdS )CalltipNc             C   s0   |d krd | _ n|| _ |j| _d | _| j| _d S )N)editwintextactive_calltip_make_tk_calltip_window_calltip_window)selfr    r   ,/opt/alt/python36/lib64/python3.6/calltip.py__init__   s    zCalltip.__init__c             C   s
   d | _ d S )N)r	   )r
   r   r   r   close   s    zCalltip.closec             C   s   t j| jS )N)r   ZCalltipWindowr   )r
   r   r   r   r       s    zCalltip._make_tk_calltip_windowc             C   s   | j r| j j  d | _ d S )N)r   Zhidetip)r
   eventr   r   r   _remove_calltip_window$   s    
zCalltip._remove_calltip_windowc             C   s   | j d dS )NTbreak)open_calltip)r
   r   r   r   r   force_open_calltip_event)   s    
z Calltip.force_open_calltip_eventc             C   s   | j d d S )NF)r   )r
   r   r   r   r   try_open_calltip_event.   s    zCalltip.try_open_calltip_eventc             C   s   | j r| j jr| jd d S )NF)r   Z	tipwindowr   )r
   r   r   r   r   refresh_calltip_event5   s    zCalltip.refresh_calltip_eventc             C   s   | j   t| jd}|jd}|s&d S |j|d  |j }|sDd S | r\|jddkr\d S | j|}|snd S | j | _	| j	j
||d |d  d S )Ninsert(r      )r   r   r   Zget_surrounding_bracketsZ	set_indexZget_expressionfind	fetch_tipr	   r   Zshowtip)r
   Z	evalfuncsZhpZ	sur_paren
expressionargspecr   r   r   r   9   s     


zCalltip.open_calltipc             C   sR   y| j jjjj}W n tk
r*   d }Y nX |rB|jdd|fi S tt|S d S )NexecZget_the_calltip)	r   flistZpyshellZinterprpccltAttributeErrorZ
remotecallget_argspec
get_entity)r
   r   r    r   r   r   r   L   s    

zCalltip.fetch_tip)N)N)__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r   r   r   r      s   
	
r   c             C   s>   | r:t jj }|jtj y
t| |S  tk
r8   d S X d S )N)sysmodulescopyupdate__main____dict__evalBaseException)r   	namespacer   r   r   r#   e   s    

r#   U          z(?<=\()\w*\,?\s*zSee source or doczinvalid method signaturez4
['/' marks preceding arguments as positional-only]
c       
      C   sr  d }}y
| j }W n tk
r&   |S X t|tjr8|n| }yttj|}W n8 tk
r } zt|}|j	t
rvt
S W Y d d }~X nX d|kr|t7 }t|tr|dkrt}t|tkrtj|ttdn|r|gng }t|tjr|j}nt| dd}|rdxZ|jdtd t D ]B}	|	j }	|	s(P t|	tkrJ|	d td  d }	|j|	 qW dj|}|snt}|S )	N /z())subsequent_indent__doc__
   z...)__call__r.   
isinstancetypes
MethodTypestrinspectZ	signature
ValueError
startswith_invalid_method_argument_positionaltype_default_callable_argspeclen	_MAX_COLStextwrapwrap_INDENTr7   getattrsplit
_MAX_LINESstripappendjoin)
obr   defaultZob_callZfoberrmsglinesdocliner   r   r   r"   |   s@    	

*
r"   r+   )mainzidlelib.idle_test.test_calltip   )	verbosityz    )r?   rer'   rH   r<   Zidlelibr   Zidlelib.hyperparserr   r+   r   r#   rG   rM   rJ   compileZ_first_paramrE   rB   rC   r"   r$   ZunittestrX   r   r   r   r   <module>   s(   S
4