B Ç©Š¢WÌã@sbddlmZddlmZddddœZdZGdd „d ƒZe ¡ed kr^dd l m Z e d d ddS)é)Ú HyperParser)ÚidleConfú(ú[Ú{)ú)ú]Ú}édc@s˜eZdZdZdZdd„Zedd„ƒZdd„Zd d „Z d d „Z d d„Z dd„Z d!dd„Z dd„Zdd„Zdd„Zdd„ZeeeedœZdd„Zdd „ZdS)"Ú ParenMatchz<>)z z z zcCs0||_|j|_|j |j|j¡d|_d|_dS)Nr)ÚeditwinÚtextZbindÚRESTORE_VIRTUAL_EVENT_NAMEÚ restore_eventÚcounterÚis_restore_active)Úselfr ©rú5/opt/alt/python37/lib/python3.7/idlelib/parenmatch.pyÚ__init__(s  zParenMatch.__init__cCsVtjddddd|_tjdddddd |_tjddd d d d |_t t ¡d ¡|_dS)NÚ extensionsr ZstyleÚopener)Údefaultz flash-delayÚintiô)ÚtyperÚbellÚbooléZhilite)rZ GetOptionÚSTYLEÚ FLASH_DELAYÚBELLZ GetHighlightZ CurrentThemeÚ HILITE_CONFIG)ÚclsrrrÚreload3s zParenMatch.reloadcCs0|js,x|jD]}|j |j|¡qWd|_dS)NT)rÚRESTORE_SEQUENCESr Z event_addr)rÚseqrrrÚactivate_restore>s zParenMatch.activate_restorecCs0|jr,x|jD]}|j |j|¡qWd|_dS)NF)rr$r Z event_deleter)rr%rrrÚdeactivate_restoreEs zParenMatch.deactivate_restorecCst|jdƒ ¡}| |¡dS)NÚinsertÚbreak)rr Úget_surrounding_bracketsÚfinish_paren_event)rÚeventÚindicesrrrÚflash_paren_eventLs zParenMatch.flash_paren_eventcCsN|j d¡}|tkrdSt|jdƒ}| ¡s0dS| t|d¡}| |¡dS)Nz insert-1cT)r ÚgetÚ_openersrr Z is_in_coder*r+)rr,ZcloserZhpr-rrrÚparen_closed_eventSs   zParenMatch.paren_closed_eventcCsT|dkr|jr|j ¡dS| ¡|j |j|j¡||ƒ|jrH|j n|j ƒdS)N) r r rr&Útagfuncsr/rÚcreate_tag_expressionrÚset_timeout_lastÚset_timeout_none)rr-rrrr+`s  zParenMatch.finish_paren_eventNcCs&|j d¡| ¡|jd7_dS)NÚparenr)r Z tag_deleter'r)rr,rrrrks zParenMatch.restore_eventcCs||jkr| ¡dS)N)rr)rZ timer_countrrrÚhandle_restore_timerqs zParenMatch.handle_restore_timercCs&|j d|d¡|j d|j¡dS)Nr6r)r Útag_addÚ tag_configr!)rr-rrrÚcreate_tag_openerxszParenMatch.create_tag_openercCsb|j |d¡dkr"|dd}n|d}|j d|d|dd|d|¡|j d|j¡dS)Nr)rrr z+1cr6rz-1c)r r/r8r9r!)rr-Ú rightindexrrrÚcreate_tag_parens}s $zParenMatch.create_tag_parenscCsR|j |d¡dkr"|dd}n|d}|j d|d|¡|j d|j¡dS)Nr)rrr z+1cr6r)r r/r8r9r!)rr-r;rrrr3†s z ParenMatch.create_tag_expression)rrZparensZ expressioncCs>|jd7_||j|j d¡fdd„}|jj t||¡dS)Nrr(cSs2||j d¡kr| |¡n|jj t||¡dS)Nr()r Úindexr7r Ú text_frameÚafterÚ CHECK_DELAY)ÚcallmerÚcr=rrrrA s z+ParenMatch.set_timeout_none..callme)rr r=r r>r?r@)rrArrrr5™szParenMatch.set_timeout_nonecCs0|jd7_|jj |j||jfdd„¡dS)NrcSs | |¡S)N)r7)rrBrrrÚ¯óz-ParenMatch.set_timeout_last..)rr r>r?r)rrrrr4¨szParenMatch.set_timeout_last)N)Ú__name__Ú __module__Ú __qualname__rr$rÚ classmethodr#r&r'r.r1r+rr7r:r<r3r2r5r4rrrrr s(     r Ú__main__)Úmainz!idlelib.idle_test.test_parenmatché)Ú verbosityN) Zidlelib.hyperparserrZidlelib.configrr0r@r r#rEZunittestrJrrrrÚs   &