qfc@sddlZddlZddlZddlZddlTddlmZddlmZe Z dZ dZ ej e ejZej dejZej dZd efd YZd Zed krendS( iN(t*(t Delegator(tidleConfcCsd|dj|dS(s9Return a named group pattern matching list of alternates.s(?P<%s>t|t)(tjoin(tnamet alternates((s./usr/lib64/python2.7/idlelib/ColorDelegator.pytany sc Csdtdtjd}gttD]!}|jds't|^q'}dtd|d}tddg}d}|d }|d }|d }|d } td || ||g} |d|d|d| dtddgS(Ns\btKEYWORDt_s([^.'\"\\#]\b|^)tBUILTINtCOMMENTs#[^\n]*s((\br|u|ur|R|U|UR|Ur|uR|b|B|br|Br|bR|BR)?s'[^'\\\n]*(\\.[^'\\\n]*)*'?s"[^"\\\n]*(\\.[^"\\\n]*)*"?s''''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?s'"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?tSTRINGRtSYNCs\n(Rtkeywordtkwlisttdirt __builtin__t startswithtstr( tkwRt builtinlisttbuiltintcommentt stringprefixtsqstringtdqstringt sq3stringt dq3stringtstring((s./usr/lib64/python2.7/idlelib/ColorDelegator.pytmake_pats!    s\s+(\w+)s .*?\b(as)\btColorDelegatorcBseZdZdZdZdZd dZd dZd Z e Z e Z d dZd Zd dZdZd Zd Zd ZRS( cCs6tj|t|_t|_t|_|jdS(N(Rt__init__tprogtidprogtasprogt LoadTagDefs(tself((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyR!&s     cCs|jdk r|jdntj|||dk rk|j|jd|j|jddnt |_ t |_ dS(Ns<>s1.0tend( tdelegatetNonetunbindRt setdelegatet config_colorstbindttoggle_colorize_eventt notify_rangetTruetstop_colorizingtFalsetallow_colorizing(R&R(((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyR+-s   cCsJx6|jjD]%\}}|r|j||qqW|jddS(Ntsel(ttagdefstitemst tag_configuret tag_raise(R&ttagtcnf((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyR,:scCstjddd}i tj|dd6tj|dd6tj|dd 6tj|d d 6tj|d d 6idd6dd6d6idd6dd6d6tj|dd6tj|dd6tj|dd6|_trdG|jGHndS(NtmaintThemeRRR RR RR RR t definitiont DEFINITIONt backgroundt foregroundRtTODOtbreaktBREAKterrortERRORthitR5(Rt GetOptiont GetHighlightR)R5tDEBUG(R&ttheme((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyR%@scCsG|j|}|jj||||j||dt|dS(Ns+%dc(tindexR(tinsertR/tlen(R&RKtcharsttags((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyRLRscCs3|j|}|jj|||j|dS(N(RKR(tdeleteR/(R&tindex1tindex2((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyRPWscCs|jd|||jr.tr*dGHndS|jrQt|_trQdGHqQn|jrtrhdGHn|jd|j|_ndS(NRAscolorizing already scheduledsstop colorizingsschedule colorizingi( ttag_addtafter_idRIt colorizingR0R1R3taftert recolorize(R&RQRR((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyR/`s     cCsw|jr9|j}d|_tr)dGHn|j|nt|_t|_|rs|jsg|j qs||_ ndS(Nscancel scheduled recolorizer( RTR)RIt after_cancelR2R3R0R1RUtdestroytclose_when_done(R&RZRT((s./usr/lib64/python2.7/idlelib/ColorDelegator.pytclosens       cCs|jr9|j}d|_tr)dGHn|j|n|jre|jretrYdGHnt|_n|j |_|jr|j r|jd|j |_ntrdG|jrdpdGHndS(Nscancel scheduled recolorizersstop colorizingisauto colorizing turnedtontoffRB( RTR)RIRXR3RUR0R1RVRW(R&teventRT((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyR.|s"     cCs3d|_|js$tr dGHndS|js?tr;dGHndS|jrZtrVdGHndSz\t|_t|_tr}dGHnt j }|j t j }trd||GHnWdt|_X|jr|j ddrtrdGHn|j d |j|_n|jr/|j}d|_|jndS( Ns no delegatesauto colorizing is offsalready colorizings colorizing...s %.3f secondsRAs1.0sreschedule colorizingi(R)RTR(RIR3RUR2R1R0ttimetclocktrecolorize_maint tag_nextrangeRVRWRZRY(R&tt0tt1ttop((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyRWs@             cCsMd}x@trH|jd|}|s+Pn|\}}|jd|||jd|}|ro|d}nd}d}|}d}t}x|sD|}|j|d|}t|dd}d|j|d k}|j||} | sdSx*|j j D]} |j| ||q W|| }|j j |} x| rxf| j jD]R\} } | r`| j| \}}|j| |d ||d || dkr|jj||}|r|jd\}}|jd |d ||d |qq| dkrd|kr9|jd}n t|}xgtr|jj|||}|spPn|jd\}}|jd|d ||d |qHWqq`q`W|j j || j} qGWd|j|d kr|}d}nt}|s|jd|n|j|jrtr=dGHndSqWq WdS(Ns1.0RARits+%d lines linestartiids-1cs+%dctdeftclassR>timportt#R scolorizing stopped(RgRh(R0Rbt tag_removet tag_prevrangeR2RKtmint tag_namestgetR5tkeysR"tsearcht groupdictR6tspanRSR#tmatchRMR$R'tupdateR1RI(R&tnexttitemtheadttailRNt lines_to_gettoktmarktlineR9tmtkeytvaluetatbtm1tendpos((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyRas                      cCs1x*|jjD]}|j|ddqWdS(Ns1.0R'(R5RpRk(R&R9((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyt removecolorssN(t__name__t __module__R!R+R,R%R)RLRPRTR0R3R2RUR/RZR[R.RWRaR(((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyR $s           QcCsddlm}t}|jd|jtdd}|jdddd |j||}t}|j ||j dS( Ni(t PercolatortWM_DELETE_WINDOWR?twhitetexpanditfilltboth( tidlelib.PercolatorRtTkt wm_protocoltquittTexttpackt focus_setR t insertfiltertmainloop(Rtrootttexttptd((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyR;s     t__main__(R_treRRtTkintertidlelib.DelegatorRtidlelib.configHandlerRR2RIRRtcompiletSR"R#R$R R;R(((s./usr/lib64/python2.7/idlelib/ColorDelegator.pyts