a 9êdg‘3ã@sÄddlZddlZddlZddlZddlmZddlmZdZdd„Z dd„Z e  e ƒej ¡Z e  d ej ¡Zd d „ZGd d „d eƒZdd„ZedkrÀddlmZeddddddlmZeeƒdS)éN)ÚidleConf)Ú DelegatorFcCsd|d |¡dS)Nz(?P<%s>ú|ú))Újoin)ÚnameZ alternates©rú-/usr/local/lib/python3.9/idlelib/colorizer.pyÚany sr c Cs¦dtdtjƒd}dd„ttƒDƒ}dtd|ƒd}tddgƒ}d }|d }|d }|d }|d }td||||gƒ} |d|d|d| dtddgƒS)Nz\bÚKEYWORDcSs(g|] }| d¡s|tjvrt|ƒ‘qS)Ú_)Ú startswithÚkeywordÚkwlistÚstr)Ú.0rrrr Ú s  þzmake_pat..z([^.'\"\\#]\b|^)ÚBUILTINÚCOMMENTz#[^\n]*z(?i:r|u|f|fr|rf|b|br|rb)?z'[^'\\\n]*(\\.[^'\\\n]*)*'?z"[^"\\\n]*(\\.[^"\\\n]*)*"?z''''[^'\\]*((\\.|'(?!''))[^'\\]*)*(''')?z'"""[^"\\]*((\\.|"(?!""))[^"\\]*)*(""")?ÚSTRINGrÚSYNCz\n)r rrÚdirÚbuiltins) ÚkwZ builtinlistÚbuiltinÚcommentZ stringprefixZsqstringZdqstringZ sq3stringZ dq3stringÚstringrrr Úmake_pats ÿ ÿrz\s+(\w+)cCs^t ¡}t |d¡}t |d¡d}t |d¡}|j|d|d||d|d|dddS)NZnormalZcursorÚ foregroundZhiliteÚ background)rrZinsertbackgroundZselectforegroundZselectbackgroundZinactiveselectbackground)rÚ CurrentThemeÚ GetHighlightZconfig)ÚtextÚthemeZ normal_colorsZ cursor_colorZ select_colorsrrr Ú color_config&s  úr$c@s|eZdZdd„Zdd„Zdd„Zdd„Zd d „Zdd d „Zddd„Z ddd„Z dd„Z ddd„Z dd„Z dd„Zdd„Zd S) ÚColorDelegatorcCs*t |¡| ¡t|_t|_| ¡dS©N)rÚ__init__Ú init_stateÚprogÚidprogÚ LoadTagDefs©Úselfrrr r'Ks  zColorDelegator.__init__cCsd|_d|_d|_d|_dS)NTF)Úafter_idÚallow_colorizingÚstop_colorizingÚ colorizingr,rrr r(RszColorDelegator.init_statecCs\|jdur| d¡t ||¡|durL| ¡| d|j¡| dd¡n d|_d|_ dS)Nz<>ú1.0ÚendTF) ÚdelegateZunbindrÚ setdelegateÚ config_colorsÚbindÚtoggle_colorize_eventÚ notify_ranger0r/)r-r4rrr r5Ys   zColorDelegator.setdelegatecCs4|j ¡D]\}}|j|fi|¤Žq | d¡dS)NZsel)ÚtagdefsÚitemsZ tag_configureZ tag_raise)r-ÚtagZcnfrrr r6pszColorDelegator.config_colorsc Cszt ¡}t |d¡t |d¡t |d¡t |d¡t |d¡dddœdddœt |d¡t |d¡d œ |_trvtd |jƒdS) NrrrrZ definition)rrÚerrorÚhit) rr rrÚ DEFINITIONrÚTODOÚERRORr>r:)rr r!r:ÚDEBUGÚprint)r-r#rrr r+vs       ózColorDelegator.LoadTagDefsNcCs6| |¡}|j |||¡| ||dt|ƒ¡dS)Nú+%dc)Úindexr4Úinsertr9Úlen)r-rEÚcharsÚtagsrrr rF‹s zColorDelegator.insertcCs&| |¡}|j ||¡| |¡dSr&)rEr4Údeleter9©r-Zindex1Úindex2rrr rJ‘s zColorDelegator.deletecCsb| d||¡|jr$tr tdƒdS|jrs&  s"