U :e2@sddlZddlZddlZddlZddlmZddlmZdZddZ ddZ e e ej Z e d ej Zd d ZGd d d eZddZedkrddlmZeddddddlmZeedS)N)idleConf) DelegatorFcCsd|d|dS)Nz(?P<%s>|))join)nameZ alternatesr6/usr/local/python38/lib/python3.8/idlelib/colorizer.pyany sr c Csdtdtjd}ddttD}dtd|d}tddg}d }|d }|d }|d }|d }td||||g} |d|d|d| dtddgS)Nz\bKEYWORDcSs(g|] }|ds|tjkrt|qS)_) startswithkeywordkwliststr).0rrrr s  zmake_pat..z([^.'\"\\#]\b|^)BUILTINCOMMENTz#[^\n]*z(?i:r|u|f|fr|rf|b|br|rb)?z'[^'\\\n]*(\\.[^'\\\n]*)*'?z"[^"\\\n]*(\\.[^"\\\n]*)*"?z''''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?z'"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?STRINGrSYNCz\n)r rrdirbuiltins) kwZ builtinlistbuiltincommentZ stringprefixZsqstringZdqstringZ sq3stringZ dq3stringstringrrr make_pats  rz\s+(\w+)cCs^t}t|d}t|dd}t|d}|j|d|d||d|d|dddS)NZnormalZcursor foregroundZhilite background)rrZinsertbackgroundZselectforegroundZselectbackgroundZinactiveselectbackground)r CurrentTheme GetHighlightZconfig)textthemeZ normal_colorsZ cursor_colorZ select_colorsrrr color_config"s  r$c@s|eZdZddZddZddZddZd d Zdd d ZdddZ dddZ ddZ dddZ ddZ ddZddZd S) ColorDelegatorcCs*t||t|_t|_|dSN)r__init__ init_stateprogidprog LoadTagDefsselfrrr r'Gs  zColorDelegator.__init__cCsd|_d|_d|_d|_dS)NTF)after_idallow_colorizingstop_colorizing colorizingr,rrr r(NszColorDelegator.init_statecCs\|jdk r|dt|||dk rL||d|j|ddn d|_d|_ dS)Nz<>1.0endTF) delegateZunbindr setdelegate config_colorsbindtoggle_colorize_event notify_ranger0r/)r-r4rrr r5Us   zColorDelegator.setdelegatecCs0|jD]\}}|j|f|q |ddS)NZsel)tagdefsitemsZ tag_configureZ tag_raise)r-tagZcnfrrr r6lszColorDelegator.config_colorsc Cszt}t|dt|dt|dt|dt|dddddddt|dt|dd |_trvtd |jdS) NrrrrZ definition)rrerrorhit) rr rr DEFINITIONrTODOERRORr>r:)rr r!r:DEBUGprint)r-r#rrr r+rs        zColorDelegator.LoadTagDefsNcCs6||}|j||||||dt|dS)N+%dc)indexr4insertr9len)r-rEcharsZtagsrrr rFs zColorDelegator.insertcCs&||}|j||||dSr&)rEr4deleter9r-Zindex1Zindex2rrr rIs zColorDelegator.deletecCsb|d|||jr$tr tddS|jrs&  s"