PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  pYf)@sddlZddlZddlZddlZddlmZddlmZddlm Z dZ ddZ dd Z ej e ejZej d ejZd d ZGd ddeZddZedkrddlmZeedS)N) TkVersion) Delegator)idleConfFcCsd|dj|dS)Nz(?P<%s>|))join)nameZ alternatesr -/opt/python35/lib/python3.5/ColorDelegator.pyany sr c Csdtdtjd}ddttD}dtd|d}tddg}d }|d }|d }|d }|d }td||||g} |d|d|d| dtddgS)Nz\bKEYWORDcSs;g|]1}|jd r|tjkrt|qS)_) startswithkeywordkwliststr).0rr r r s zmake_pat..z([^.'\"\\#]\b|^)BUILTINCOMMENTz#[^\n]*z4(\br|u|ur|R|U|UR|Ur|uR|b|B|br|Br|bR|BR|rb|rB|Rb|RB)?z'[^'\\\n]*(\\.[^'\\\n]*)*'?z"[^"\\\n]*(\\.[^"\\\n]*)*"?z''''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?z'"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?STRINGrSYNCz\n)r rrdirbuiltins) kwZ builtinlistbuiltincommentZ stringprefixZsqstringZdqstringZ sq3stringZ dq3stringstringr r r make_pats    rz\s+(\w+)c Cstj}tj|d}tj|ddd}tj|d}|jd|dd|dd|d |dd |dtd kr|jd |ddS) NZnormalZcursorZfgBgZfgZhilite foreground backgroundZinsertbackgroundZselectforegroundZselectbackgroundg!@Zinactiveselectbackground)r CurrentTheme GetHighlightconfigr)textthemeZ normal_colorsZ cursor_colorZ select_colorsr r r color_config$s        r&c@seZdZddZddZddZddZd d d Zd d d Zd Z dZ dZ d ddZ d Z d ddZddZddZddZddZd S)ColorDelegatorcCs-tj|t|_t|_|jdS)N)r__init__progidprog LoadTagDefs)selfr r r r(<s   zColorDelegator.__init__cCs~|jdk r|jdtj|||dk rh|j|jd|j|jddnd|_d|_ dS)Nz<>z1.0endTF) delegateZunbindr setdelegate config_colorsbindtoggle_colorize_event notify_rangestop_colorizingallow_colorizing)r,r.r r r r/Bs    zColorDelegator.setdelegatecCsGx3|jjD]"\}}|r|j||qW|jddS)NZsel)tagdefsitemsZ tag_configureZ tag_raise)r,tagZcnfr r r r0OszColorDelegator.config_colorscCstj}dtj|ddtj|ddtj|ddtj|dd tj|d d d dd didd dd didtj|ddtj|di |_trtd|jdS)Nrrr rrrrr DEFINITIONZ definitionrr rTODOERRORerrorZhitr6)rr!r"r6DEBUGprint)r,r%r r r r+Us zColorDelegator.LoadTagDefsNcCsG|j|}|jj||||j||dt|dS)Nz+%dc)indexr.insertr3len)r,r?charsZtagsr r r r@fszColorDelegator.insertcCs3|j|}|jj|||j|dS)N)r?r.deleter3)r,index1index2r r r rCkszColorDelegator.deleteTFcCs|jd|||jr0tr,tddS|jrRd|_trRtd|jrtrktd|jd|j|_dS)Nr:zcolorizing already scheduledTzstop colorizingzschedule colorizing) tag_addafter_idr=r> colorizingr4r5after recolorize)r,rDrEr r r r3ts       zColorDelegator.notify_rangecCss|jr8|j}d|_tr+td|j|d|_d|_|ro|jsf|jn ||_dS)Nzcancel scheduled recolorizerFT) rHr=r> after_cancelr5r4rIdestroyclose_when_done)r,rNrHr r r closes         zColorDelegator.closecCs|jr8|j}d|_tr+td|j||jrc|jrctrZtdd|_|j |_|jr|j r|jd|j|_trtd|jrdpddS) Nzcancel scheduled recolorizerzstop colorizingTrFzauto colorizing turnedZonZoffbreak) rHr=r>rLr5rIr4rJrK)r,eventrHr r r r2s"        z$ColorDelegator.toggle_colorize_eventc Cs9d|_|js&tr"tddS|jsCtr?tddS|jr`tr\tddSz`d|_d|_trtdtj}|j tj}trtd||Wdd|_X|jr|j dd rtrtd |j d |j |_|j r5|j }d|_ |jdS) Nz no delegatezauto colorizing is offzalready colorizingFTz colorizing...z %.3f secondsr:z1.0zreschedule colorizingrF)rHr.r=r>r5rIr4time perf_counterrecolorize_main tag_nextrangerJrKrNrM)r,t0t1topr r r rKs@                  zColorDelegator.recolorizecCsd}x|jd|}|s"P|\}}|jd|||jd|}|rf|d}nd}d}|}d}d}x|s|}|j|d|}t|dd }d|j|d k}|j||} | sdSx$|jD]} |j| ||qW|| }|jj |} x| rx| j j D]\} } | rQ| j | \}}|j | |d ||d || dkrQ|jj||}|rQ|j d\}}|j d|d ||d |qQW|jj || j} q8Wd|j|d krE|}d}nd}|sa|j d||j|jrtrtddSqWq WdS)Nz1.0r:rrFFz+%d lines linestartdz-1cz+%dcdefclassr9zcolorizing stopped)r\r])rU tag_removeZ tag_prevranger?minZ tag_namesgetr6r)search groupdictr7spanrGr*matchr-updater4r=r>)r,nextitemheadtailrBZ lines_to_getokmarkliner8mkeyvalueabm1r r r rTsl                zColorDelegator.recolorize_maincCs+x$|jD]}|j|ddq WdS)Nz1.0r-)r6r^)r,r8r r r removecolorsszColorDelegator.removecolors)__name__ __module__ __qualname__r(r/r0r+r@rCrHr5rIr3rNrOr2rKrTrsr r r r r':s        Ar'c Csddlm}m}ddlm}||}|jd|jd|jd|jdfd}||d d }|j d d d d|j d||j t |||}t }|j|dS)Nr)ToplevelText) PercolatorzTest ColorDelegatorz 200x100+%d+%dz'if somename: x = 'abc' # comment print r ZwhiteexpandrFfillZbothr@)tkinterrwrxZidlelib.PercolatorrytitleZgeometryZ winfo_rootxZ winfo_rootypackr@Z focus_setr&r'Z insertfilter) parentrwrxryrXsourcer$pdr r r _color_delegators      r__main__)run)rRrerrr~rZidlelib.DelegatorrZidlelib.configHandlerrr=r rcompileSr)r*r&r'rrtZidlelib.idle_test.htestrr r r r s"