B OnÖCÝÎEƒã@s¬ddlZddlZddlZddlZddlZddlZddlmZddlm Z Gdd„dƒZ dd„Z dZ d Z d Ze d ¡Zd Zd ZdZdd„Zedkr¨ddlmZeddddS)éN)Ú calltip_w)Ú HyperParserc@sXeZdZddd„Zdd„Zdd„Zddd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dS)ÚCalltipNcCs0|dkrd|_n||_|j|_d|_|j|_dS)N)ÚeditwinÚtextÚactive_calltipÚ_make_tk_calltip_windowÚ_calltip_window)Úselfr©r ú2/opt/alt/python37/lib/python3.7/idlelib/calltip.pyÚ__init__s zCalltip.__init__cCs d|_dS)N)r )r r r r Úclosesz Calltip.closecCs t |j¡S)N)rZ CalltipWindowr)r r r r r szCalltip._make_tk_calltip_windowcCs|jr|j ¡d|_dS)N)rZhidetip)r Úeventr r r Úremove_calltip_window$s zCalltip.remove_calltip_windowcCs| d¡dS)NTÚbreak)Ú open_calltip)r rr r r Úforce_open_calltip_event)s z Calltip.force_open_calltip_eventcCs| d¡dS)NF)r)r rr r r Útry_open_calltip_event.szCalltip.try_open_calltip_eventcCs|jr|jjr| d¡dS)NF)rZ tipwindowr)r rr r r Úrefresh_calltip_event5szCalltip.refresh_calltip_eventcCs’| ¡t|jdƒ}| d¡}|s&dS| |d¡| ¡}|sDdS|sZ| d¡dkrZdS| |¡}|sldS| ¡|_ |j   ||d|d¡dS)NÚinsertú(réÿÿÿÿé) rrrZget_surrounding_bracketsZ set_indexZget_expressionÚfindÚ fetch_tipr rZshowtip)r Z evalfuncsZhpZ sur_parenÚ expressionÚargspecr r r r9s     zCalltip.open_calltipcCsRy|jjjjj}Wntk r*d}YnX|rB| dd|fi¡Stt|ƒƒSdS)NÚexecZget_the_calltip) rÚflistZpyshellZinterpÚrpccltÚAttributeErrorZ remotecallÚ get_argspecÚ get_entity)r rr r r r rLs  zCalltip.fetch_tip)N)N) Ú__name__Ú __module__Ú __qualname__r rrrrrrrrr r r r rs  rcCs4|r0tjtj–}y t||ƒStk r.dSXdS)N)ÚsysÚmodulesÚ__main__Ú__dict__ÚevalÚ BaseException)rÚ namespacer r r r#es   r#éUéz z(?<=\()\w*\,?\s*zSee source or doczinvalid method signaturez0 # '/' marks preceding args as positional-only.c Cs€y |j}Wntk rdSXt|tjƒr0|n|}ytt |¡ƒ}Wn<tk r‚}zt|ƒ}|  t ¡rnt Sd}Wdd}~XYnXd|kr¨t |ƒt t t ƒkr¨|t 7}t|tƒr¾|dkr¾t}t |ƒt krÚtj|t tdn |rä|gng}t|tjƒrþ|j}n t|ddƒ}|rlxZ| dt¡dt…D]B}| ¡}|s:Pt |ƒt kr\|dt d…d}| |¡q&Wd |¡}|p~tS) NÚú/z())Úsubsequent_indentÚ__doc__Ú éz...)Ú__call__r,Ú isinstanceÚtypesÚ MethodTypeÚstrÚinspectZ signatureÚ ExceptionÚ startswithÚ_invalid_methodÚlenÚ _MAX_COLSÚ_argument_positionalÚtypeÚ_default_callable_argspecÚtextwrapÚwrapÚ_INDENTr3ÚgetattrÚsplitÚ _MAX_LINESÚstripÚappendÚjoin) ZobZob_callZfobrÚerrÚmsgÚlinesÚdocÚliner r r r"{s<   *  r"r))Úmainzidlelib.idle_test.test_calltipé)Ú verbosity)r)r;Úrer'rDr8ZidlelibrZidlelib.hyperparserrrr#r@rIrFÚcompileZ _first_paramrCr>rAr"r$ZunittestrRr r r r Ús(  S 6