Ë )ïÛK�ãóò—dZddlZddlmZmZddlmZmZddlm Z ddl m Z ddl m Z ddlmZdd lmZmZdd lmZdd lmZdd lmZmZmZmZmZmZmZmZm Z dd l!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-ddl.m/Z/m0Z0gd¢Z1Gd„de«Z2Gd„de«Z3Gd„de«Z4Gd„de«Z5Gd„de«Z6Gd„de«Z7Gd„de«Z8Gd„de«Z9Gd „d!e«Z:Gd"„d#e«Z;Gd$„d%e«Z<Gd&„d'e«Z=Gd(„d)e«Z>Gd*„d+e«Z?Gd,„d-e«Z@Gd.„d/e«ZAGd0„d1e«ZBGd2„d3e«ZCGd4„d5e«ZDGd6„d7e«ZEGd8„d9e«ZFGd:„d;e«ZGGd<„d=e«ZHGd>„d?e«ZIGd@„dAe«ZJGdB„dCe«ZKGdD„dEe«ZLGdF„dGe«ZMGdH„dIe«ZNGdJ„dKe«ZOGdL„dMe«ZPGdN„dOe«ZQGdP„dQe«ZRGdR„dSe«ZSGdT„dUe«ZTGdV„dWe«ZUGdX„dYe«ZVGdZ„d[e«ZWGd\„d]e«ZXGd^„d_e«ZYGd`„dae«ZZGdb„dce«Z[Gdd„dee«Z\Gdf„dge«Z]Gdh„die«Z^Gdj„dke«Z_Gdl„dme«Z`Gdn„doe«ZaGdp„dqe«ZbGdr„dse«ZcGdt„due«ZdGdv„dwe«ZeGdx„dye«ZfGdz„d{e«ZgGd|„d}e«ZhGd~„de«ZiGd€„d�e«ZjGd‚„dƒe«ZkGd„„d…e«ZlGd†„d‡e«ZmGdˆ„d‰e«ZnGdŠ„d‹e«ZoGdŒ„d�e«ZpGdŽ„d�e«ZqGd�„d‘e«ZrGd’„d“e«ZsGd”„d•e«ZtGd–„d—e«ZuGd˜„d™e«Zvy)šzã pygments.lexers.templates ~~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for various template engines' markup. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. éN)Ú HtmlLexerÚXmlLexer)ÚJavascriptLexerÚ LassoLexer)ÚCssLexer)ÚPhpLexer)Ú PythonLexer)Ú PerlLexer)Ú JavaLexerÚ TeaLangLexer)Ú YamlLexer)ÚSqlLexer) ÚLexerÚDelegatingLexerÚ RegexLexerÚbygroupsÚincludeÚusingÚthisÚdefaultÚcombined) ÚErrorÚ PunctuationÚ WhitespaceÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚOtherÚToken)Úhtml_doctype_matchesÚlooks_like_xml)@Ú HtmlPhpLexerÚ XmlPhpLexerÚ CssPhpLexerÚJavascriptPhpLexerÚErbLexerÚ RhtmlLexerÚ XmlErbLexerÚ CssErbLexerÚJavascriptErbLexerÚ SmartyLexerÚHtmlSmartyLexerÚXmlSmartyLexerÚCssSmartyLexerÚJavascriptSmartyLexerÚ DjangoLexerÚHtmlDjangoLexerÚCssDjangoLexerÚXmlDjangoLexerÚJavascriptDjangoLexerÚ GenshiLexerÚHtmlGenshiLexerÚGenshiTextLexerÚCssGenshiLexerÚJavascriptGenshiLexerÚ MyghtyLexerÚMyghtyHtmlLexerÚMyghtyXmlLexerÚMyghtyCssLexerÚMyghtyJavascriptLexerÚ MasonLexerÚ MakoLexerÚ MakoHtmlLexerÚ MakoXmlLexerÚMakoJavascriptLexerÚ MakoCssLexerÚJspLexerÚ CheetahLexerÚCheetahHtmlLexerÚCheetahXmlLexerÚCheetahJavascriptLexerÚ EvoqueLexerÚEvoqueHtmlLexerÚEvoqueXmlLexerÚColdfusionLexerÚColdfusionHtmlLexerÚColdfusionCFCLexerÚ VelocityLexerÚVelocityHtmlLexerÚVelocityXmlLexerÚSspLexerÚTeaTemplateLexerÚLassoHtmlLexerÚ LassoXmlLexerÚ LassoCssLexerÚLassoJavascriptLexerÚHandlebarsLexerÚHandlebarsHtmlLexerÚYamlJinjaLexerÚ LiquidLexerÚ TwigLexerÚ TwigHtmlLexerÚ Angular2LexerÚAngular2HtmlLexerÚ SqlJinjaLexercóp—eZdZdZdZdZdgZdgZejdej«Z d„Z d„Z d „Zy ) r*zÙ Generic ERB (Ruby Templating) lexer. Just highlights ruby code between the preprocessor directives, other data is left untouched by the lexer. All options are also forwarded to the `RubyLexer`. ÚERBzhttps://github.com/ruby/erbÚerbzapplication/x-ruby-templatingz*(<%%|%%>|<%=|<%#|<%-|<%|-%>|%>|^%[^%].*?$)c óV—ddlm}|di|¤Ž|_tj|fi|¤Žy)Nr)Ú RubyLexer©)Úpygments.lexers.rubyrjÚ ruby_lexerrÚ__init__)ÚselfÚoptionsrjs ú>/usr/lib/python3.12/site-packages/pygments/lexers/templates.pyrnzErbLexer.__init__Ds%€Ý2Ù#Ñ. gÑ.ˆŒÜ �‰�tÑ'˜wÓ'óc#ójK—|jj|«}|j«dx}} |dk(r-|j«}|t|f–—|t |«z }d}�n¼|dk(�rl|j«}|dvr|t|f–—|dz }d}�nŽ|dk(rH|t j|f–—|j«}|dzt |f–—|dt |«zz }d}�nA|dvrt|t j|f–—|t |«z }|j«}d}|jj|«D]\}} } ||z| | f–—Œ|t |«z }d}nÉ|dvr|t|f–—|t |«z }d}n©|t j|df–—d}|jj|dd «D]\}} } |dz|z| | f–—Œ|t |«z }d}nJ|dk(rE|j«}|dvr |t|f–—n|t j|f–—|t |«z }d}�Œð#t$rYy wxYw­w) z¡ Since ERB doesn't allow "<%" and other tags inside of ruby blocks we have to use a split approach here that fails for that too. ré)z<%%z%%>éz<%#é)ú<%z<%=z<%-)ú%>z-%>N) Ú _block_reÚsplitÚreverseÚpopr"ÚlenrÚPreprocrmÚget_tokens_unprocessedrÚ IndexError) roÚtextÚtokensÚstateÚidxÚvalÚtagÚdataÚr_idxÚr_tokenÚr_values rqrzErbLexer.get_tokens_unprocessedIsYèø€ð —‘×%Ñ% dÓ+ˆØ�‰Ô؈ˆ�ð9 Øà˜A’:Ø Ÿ*™*›,�CØœu c˜/Ò)Øœ3˜s›8‘O�CØ’Eà˜a“ZØ Ÿ*™*›,�Cà˜nÑ,Ø!¤5¨#˜oÒ-ؘq™˜Ø !šà šØ!¤7§?¡?°CÐ7Ò7Ø$Ÿj™j›l˜Ø! A™g¤w°Ð3Ò3ؘq¤3 s£8™|Ñ+˜Ø !šàÐ 4Ñ4Ø!¤7§?¡?°CÐ7Ò7Øœs 3›x™˜Ø%Ÿz™z›|˜Ø !˜à $§¡× FÑ FÀtÖ Lñ4˜E 7¨Gà"'¨#¡+¨w¸Ð"?Ó?ð!Màœs 4›yÑ(˜Ø !™Ø  Ñ-Ø!¤5¨#˜oÒ-Øœs 3›x™˜Ø !™ð"¤7§?¡?°C¸±FÐ:Ò:Ø !˜à $§¡× FÑ FÀsÈ1È2ÀwÖ Oñ4˜E 7¨Gà"%¨¡'¨E¡/°7¸GÐ"CÓCð!Pàœs 3›x™˜Ø !™à˜a’ZØ Ÿ*™*›,�CØ -Ñ/Ø!¤5¨#˜oÓ-à!¤7§?¡?°CÐ7Ò7Øœ3˜s›8‘O�CØ�Eñmøônò Ù ð üs#‚0H3³G1H$È$ H0È-H3È/H0È0H3có—d|vrd|vryyy)Nrwrxçš™™™™™Ù?rk©r�s rqÚ analyse_textzErbLexer.analyse_text�s€Ø �4‰<˜D D™LØð)ˆ/?@-]ú(true|false|null)\bú>[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?ú"(\\\\|\\[^\\]|[^"\\])*"ú'(\\\\|\\[^\\]|[^'\\])*'ú [a-zA-Z_]\w*)Úrootrœcóâ—d}tjd|«r|dz }tjd|«r|dz }tjd|«r|dz }tjd|«r|dz }|S)Nçz\{if\s+.*?\}.*?\{/if\}ç333333Ã?z\{include\s+file=.*?\}z \{foreach\s+.*?\}.*?\{/foreach\}z \{\$.*?\}ç{®Gáz„?©r—Úsearch©r�Úrvs rqrŽzSmartyLexer.analyse_text¾sk€Ø ˆÜ �9‰9Ð.°Ô 5Ø �$‰JˆBÜ �9‰9Ð.°Ô 5Ø �$‰JˆBÜ �9‰9Ð8¸$Ô ?Ø �$‰JˆBÜ �9‰9�\ 4Ô (Ø �$‰JˆB؈ rrN)!r�r�r‘r’r“r”r•Ú filenamesr–r—Ú MULTILINEÚDOTALLÚflagsr"rrr~rrrÚFunctionrÚVariablerrÚConstantr!r ÚDoubleÚSingleÚ Attributer‚rŽrkrrrqr/r/’sQ„ñð €DØ #€C؈j€GØ� €IØ'Ð(€Ià �L‰L˜2Ÿ9™9Ñ $€Eð�uÐ Ø !Ù �g—o‘o w°·±Ó @ð Bà (Ù �g—o‘o¡u¨XÀ4Ô'HØ—o‘oó'ð (ð*Ù �g—o‘o t§}¡}°dÓ ;¸Xð Gà �G—O‘O XÐ .ð  ð�TˆNØ �G—O‘O WÐ -Ø �G—O‘O VÐ ,Ø  § ¡ Ð .Ø &¨¯ © Ð 6Ø +¨XÐ 6Ø # W×%5Ñ%5Ð 6ð'Ø(.ð 0à (¨&¯-©-Ð 8Ø (¨&¯-©-Ð 8Ø ˜dŸn™nÐ -ð  ñ€Fó8 rrr/có—eZdZdZdZdZdgZddgZejejzZ dZ de fd eej eej «fd eej e«fd e zd zeej ej$ej e«d fd e zdzeej ej$ej «fdedfge ej(fdedfde zdzeeej(«dfdedfed«gdefdedfde zdzej$fed«gdefed«dedfgdedfdefdefd ej4fd!ej6fd"efd#efd$ej<fdedfd%edfd&edfdedfdedfdedfgd'œZd(„Z y))*rTz› Generic Velocity template lexer. Just highlights velocity directives and variable references, other data is left untouched by the lexer. ÚVelocityzhttps://velocity.apache.org/Úvelocityú*.vmú*.fhtmlr©z[^{#$]+z(#)(\*.*?\*)(#)z (##)(.*?$)z(#\{?)(z )(\}?)(\s?\()Údirectiveparamsz)(\}|\b)z\$!?\{?Úvariablez\(Ú funcparamsz(\.)(Ú)r¢r£r¤z=(&&|\|\||==?|!=?|[-<>+*%&|^/])|\b(eq|ne|gt|lt|ge|le|not|in)\bz\[Ú rangeoperatorz\bz\.\.z\]r¡z[,:]r§r¨z0[xX][0-9a-fA-F]+[Ll]?z \b[0-9]+\br¥ú\)r )rªrÃrÂrÆrÄcó<—d}tjd|tj«r|dz }tjd|tj«r|dz }tjd|tj«r|dz }tjd|«r|dz }|S) Nr¬z #\{?macro\}?\(.*?\).*?#\{?end\}?çÐ?z#\{?if\}?\(.+?\).*?#\{?end\}?r­z"#\{?foreach\}?\(.+?\).*?#\{?end\}?z6\$!?\{?[a-zA-Z_]\w*(\([^)]*\))?(\.\w+(\([^)]*\))?)*\}?r®©r—r°rµr±s rqrŽzVelocityLexer.analyse_textsƒ€Ø ˆÜ �9‰9Ð8¸$ÄÇ Á Ô JØ �$‰JˆBÜ �9‰9Ð5°t¼R¿Y¹YÔ GØ �$‰JˆBÜ �9‰9Ð:¸DÄ"Ç)Á)Ô LØ �$‰JˆBÜ �9‰9ð0Ø15ô 7à �$‰JˆB؈ rrN)!r�r�r‘r’r“r”r•r³r—r´rµr¶Ú identifierr"rrr~rr·rr¸rrrrr rºr»r!rr¹r‚rŽrkrrrqrTrTËs0„ñð €DØ (€C؈l€GؘÐ#€Ià �L‰L˜2Ÿ9™9Ñ $€Eà €Jð˜Ð Ø Ù �g—o‘o w°·±Ó @ð Bà Ù �g—o‘o wÓ /ð 1à ˜*Ñ $Ð'7Ñ 7Ù �g—o‘o t§}¡}°g·o±oÀ{Ó SØ ð ð˜*Ñ $ {Ñ 2Ù �g—o‘o t§}¡}°g·o±oÓ Fð Hà ˜ jÐ 1ð  𘟙Р'Ø �K Ð .Ø ˜ Ñ " TÑ )Ù �k 4§=¡=Ó 1°7ð <à �K Ð (Ù �F‹Oð  ðNØ ð à �H˜oÐ .Ø �ZÑ  %Ñ '¨¯©Ð 7Ù �LÓ !ð  ð�hÐ Ù �LÓ !Ø �H˜fÐ %ð ð ˜ jÐ 1Ø �TˆNØ �kÐ "Ø (¨&¯-©-Ð 8Ø (¨&¯-©-Ð 8Ø &¨Ð /Ø ˜FÐ #Ø # W×%5Ñ%5Ð 6Ø �K Ð )Ø �K Ð (Ø �K Ð )Ø �K Ð (Ø �K Ð )Ø �K Ð (ð ñE2€Fóh rrrTcó:‡—eZdZdZdZdgZddgZdgZˆfd„ZˆxZ S)rUza Subclass of the `VelocityLexer` that highlights unlexed data with the `HtmlLexer`. z HTML+Velocityz html+velocityú*.htmlrÁztext/html+velocityc ó8•—t‰|�ttfi|¤Žy©N)ÚsuperrnrrT©rorpÚ __class__s €rqrnzVelocityHtmlLexer.__init__*óø€Ü ‰Ñœ¤MÑ=°WÓ=rr) r�r�r‘r’r“r•Úalias_filenamesr–rnÚ __classcell__©rÒs@rqrUrUs3ø„ñð €DØÐ€GØ Ð+€OØ%Ð&€I÷>ð>rrrUcó@‡—eZdZdZdZdgZddgZdgZˆfd„Zd„Z ˆxZ S) rVz` Subclass of the `VelocityLexer` that highlights unlexed data with the `XmlLexer`. z XML+Velocityz xml+velocityú*.xmlrÀzapplication/xml+velocityc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrTrÑs €rqrnzVelocityXmlLexer.__init__:sø€Ü ‰Ñœ¤=Ñ<°GÓ`_ and `jinja `_ template lexer. It just highlights django/jinja code between the preprocessor directives, other data is left untouched by the lexer. z Django/JinjaÚdjangoÚjinjazapplication/x-django-templatingzapplication/x-jinjaržú\{\{Úvarz \{#.*?#\}zJ(\{%)(-?\s*)(comment)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endcomment)(\s*-?)(%\})úB(\{%)(-?\s*)(raw)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endraw)(\s*-?)(%\})z'(\{%)(-?\s*)(filter)(\s+)([a-zA-Z_]\w*)Úblockú(\{%)(-?\s*)([a-zA-Z_]\w*)r z(\|)(\s*)([a-zA-Z_]\w*)z#(is)(\s+)(not)?(\s+)?([a-zA-Z_]\w*)z%(_|true|false|none|True|False|None)\bzm(in|as|reversed|recursive|not|and|or|is|if|else|import|with(?:(?:out)?\s*context)?|scoped|ignore\s+missing)\bz(loop|block|super|forloop)\bz[a-zA-Z_][\w-]*z\.\w+ú:?"(\\\\|\\[^\\]|[^"\\])*"ú:?'(\\\\|\\[^\\]|[^'\\])*'z ([{}()\[\]+\-*/%,:~]|[><=]=?|!=)r¦r¡ú (-?)(\}\})r¤Úvarnamesú (-?)(%\})Ú.)rªrèrárãcó¬—d}tjd|«�|dz }tjd|«�|dz }tjd|«�|dz }|S)Nr¬z\{%\s*(block|extends)rŒz\{%\s*if\s*.*?%\}çš™™™™™¹?z \{\{.*?\}\}r¯r±s rqrŽzDjangoLexer.analyse_textŒs\€Ø ˆÜ �9‰9Ð-¨tÓ 4Ð @Ø �#‰IˆBÜ �9‰9Ð)¨4Ó 0Ð <Ø �#‰IˆBÜ �9‰9�^ TÓ *Ð 6Ø �#‰IˆB؈ rrN)r�r�r‘r’r“r•r–r—r™ÚSr¶r"rr~rrrrr·rÚPseudoÚBuiltinr¸r rºr»r!rrr‚rŽrkrrrqr4r4Ds+„ñð €DؘÐ!€GØ2Ð4IÐJ€Ià �D‰D�2—4‘4‰K€Eð�uÐ Ø �g—o‘o uÐ -à ˜7Ð #ð5á �g—o‘o t¨W°d¸G¿O¹OؘwŸ™°°g¸tØ—o‘oó'ð (ð 1á �g—o‘o t¨W°d¸G¿O¹OؘGŸO™O¨T°7¸DØ—o‘oó'ð (ð 8Ù �g—o‘o t¨W°d¸D¿M¹MÓ JØ ð ð+Ù �g—o‘o t¨WÓ 5°wð @à �EˆNð/ ð4(Ù �h  d§m¡mÓ 4ð 6à 3Ù �g˜t W¨d°D·M±MÓ Bð Dà 5°w·~±~Ð FðGà ð ð-¨d¯l©lÐ ;Ø  §¡Ð /Ø �t—}‘}Ð %Ø *¨F¯M©MÐ :Ø *¨F¯M©MÐ :Ø 0°(Ð ;ð'Ø(.ð 0ð ð&�TˆNØ ™H T¨7¯?©?Ó;¸VÐ DÙ �JÓ ð ð �TˆNØ ™8 D¨'¯/©/Ó:¸FÐ CÙ �JÓ Ø �;Ð ð  ñc7€Fórrrr4cóœ—eZdZdZdZdZdgZddgZdgZdd e fd e e je e je jee«e j«fd e e je je jee«e j«fd e e je jee«e j«fd e e je jee«e j«fde jfde e jee«e j«fdefde e jee«e«fde ee«fg iZy)r>zƒ Generic myghty templates lexer. Code that isn't Myghty markup is yielded as `Token.Other`. .. versionadded:: 0.6 ÚMyghtyzhttp://www.myghty.org/Úmyghtyz*.mytÚ autodelegatezapplication/x-myghtyrªr¡ú3(?s)(<%(?:def|method))(\s*)(.*?)(>)(.*?)()z#(?s)(<%\w+)(.*?)(>)(.*?)()z(<&[^|])(.*?)(,.*?)?(&>)ú(?s)(<&\|)(.*?)(,.*?)?(&>)úú(?s)(<%!?)(.*?)(%>)ú(?<=^)#[^\n]*(\n|\Z)ú(?<=^)(%)([^\n]*)(\n|\Z)áË(?sx) (.+?) # anything, followed by: (?: (?<=\n)(?=[%#]) | # an eval or comment line (?=r>—sa„ñð €DØ "€C؈j€Gؘ.Ð)€IØ'Ð(€Ið Ø �TˆNØ CÙ �d—h‘h  d§m¡m°T·X±XÙ˜D“k 4§8¡8ó-ð .ð4Ù �d—h‘h § ¡ ¨t¯x©xÙ˜KÓ(¨$¯(©(ó4ð 5ð)Ù �d—h‘h § ¡ ©u°[Ó/AÀ4Ç8Á8Ó Lð Nà *Ù �d—h‘h § ¡ ©u°[Ó/AÀ4Ç8Á8Ó Lð Nà �d—h‘hÐ Ø #Ù �d—h‘h¡ kÓ 2°D·H±HÓ =ð ?à $ gÐ .Ø (Ù �d—h‘h¡ kÓ 2°EÓ :ð <ð ñ   xÓ0ð 2ð% ð�Frrr>có2‡—eZdZdZdZdgZdgZˆfd„ZˆxZS)r?zy Subclass of the `MyghtyLexer` that highlights unlexed data with the `HtmlLexer`. .. versionadded:: 0.6 z HTML+Myghtyz html+myghtyztext/html+myghtyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr>rÑs €rqrnzMyghtyHtmlLexer.__init__Òóø€Ü ‰Ñœ¤KÑ;°7Ó;rr© r�r�r‘r’r“r•r–rnrÕrÖs@rqr?r?Æs(ø„ñð €D؈o€GØ#Ð$€I÷<ðrÑs €rqrnzMyghtyXmlLexer.__init__âóø€Ü ‰Ñœ¤;Ñ:°'Ó:rrrÿrÖs@rqr@r@Ös(ø„ñð €D؈n€GØ)Ð*€I÷;ð;rrr@có6‡—eZdZdZdZddgZgd¢Zˆfd„ZˆxZS)rBz Subclass of the `MyghtyLexer` that highlights unlexed data with the `JavascriptLexer`. .. versionadded:: 0.6 zJavaScript+Myghtyzjavascript+myghtyz js+myghty)zapplication/x-javascript+myghtyztext/x-javascript+myghtyztext/javascript+mygthyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr>rÑs €rqrnzMyghtyJavascriptLexer.__init__ôóø€Ü ‰Ñœ¬+ÑA¸ÓArrrÿrÖs@rqrBrBæs,ø„ñð €DØ" KÐ0€Gò+€I÷BðBrrrBcó2‡—eZdZdZdZdgZdgZˆfd„ZˆxZS)rAzx Subclass of the `MyghtyLexer` that highlights unlexed data with the `CssLexer`. .. versionadded:: 0.6 z CSS+Myghtyz css+myghtyztext/css+myghtyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr>rÑs €rqrnzMyghtyCssLexer.__init__rrrrÿrÖs@rqrArAøs(ø„ñð €D؈n€GØ"Ð#€I÷;ð;rrrAcóÚ—eZdZdZdZdZdgZgd¢ZdgZdde fd e e je je j«fd e e je e je jee«e j«fd e e jd d d ee«e j«fd e e je jee«e j«fde e je jee«e j«fde jfde e jee«e j«fde fde e jee«e«fde ee«e«fg iZd„Zy )rCz‡ Generic mason templates lexer. Stolen from Myghty lexer. Code that isn't Mason markup is HTML. .. versionadded:: 1.4 ÚMasonzhttp://www.masonhq.com/Úmason)z*.mz*.mhtmlz*.mcz*.miÚ autohandlerÚdhandlerzapplication/x-masonrªr¡z(?s)(<%doc>)(.*?)()rôz%(?s)(<%(\w+)(.*?)(>))(.*?)()Nz(?s)(<&[^|])(.*?)(,.*?)?(&>)rõrör÷rørùrúcóŒ—d}tjd|«�d}|Stjd|tj«�d}|S)Nr¬zgð?z<&.+&>g)\�Âõ(¼?rÊ)r�Úresults rqrŽzMasonLexer.analyse_text6sH€ØˆÜ �9‰9Ð,¨dÓ 3Ð ?؈Fðˆ ô�Y‰Y�y $¬¯ © Ó 2Ð >؈F؈ rr)r�r�r‘r’r“r”r•r³r–rrrrûrÚ Multiliner·rrr r"rrr‚rŽrkrrrqrCrCs€„ñð €DØ #€C؈i€GÚM€IØ&Ð'€Ið Ø �ZÐ Ø *Ù �d—h‘h × 1Ñ 1°4·8±8Ó <ð >à CÙ �d—h‘h  ¨D¯M©M¸4¿8¹8Ù˜D“k 4§8¡8ó-ð .ð6Ù �d—h‘h  d¨D±%¸ Ó2BÀDÇHÁHÓ Mð Oà ,Ù �d—h‘h § ¡ ©u°YÓ/?ÀÇÁÓ Jð Là *Ù �d—h‘h § ¡ ©u°YÓ/?ÀÇÁÓ Jð Là �d—h‘hÐ Ø #Ù �d—h‘h¡ iÓ 0°$·(±(Ó ;ð =à $ gÐ .Ø (Ù �d—h‘h¡ iÓ 0°%Ó 8ð :ð ñ ¡ iÓ 0°(Ó;ð =ð' ð€FóBrrrCcó0—eZdZdZdZdZdgZdgZdgZde e je jee«fde e je jee«e«fd e e je j$e j«fd e j&fd e e jej*«d fd e e jej*e j«fde jdfde e jee«e j«fde e jee«e j«fde ee«fde fg de jfdej*fed «gde ej0e e«fde jdfde fgdedfdedfdedfgdœZy)rDz Generic mako templates lexer. Code that isn't Mako markup is yielded as `Token.Other`. .. versionadded:: 0.7 ÚMakozhttp://www.makotemplates.org/Úmakoz*.maozapplication/x-makoz(\s*)(%)(\s*end(?:\w+))(\n|\Z)z(\s*)(%)([^\n]*)(\n|\Z)z(\s*)(##[^\n]*)(\n|\Z)z(?s)<%doc>.*?z (<%)([\w.:]+)r†z()z<%(?=([\w.:]+))Ú ondeftagsz(?s)(<%(?:!?))(.*?)(%>)z(\$\{)(.*?)(\})a\(?sx) (.+?) # anything, followed by: (?: (?<=\n)(?=%|\#\#) | # an eval or comment line (?=\#\*) | # multiline comment (?=r¤ú".*?"ú'.*?'ú[^\s>]+)rªrr†ÚattrN)r�r�r‘r’r“r”r•r³r–rrrrr~rr"rr r»rrrïrrr¼r r‚rkrrrqrDrD?sØ„ñð €DØ )€C؈h€GØ� €IØ%Ð&€Ið/Ù �d—o‘o w§¡¸ÀÓ Gð Ià 'Ù �d—o‘o w§¡¹¸kÓ8JÈEÓ Rð Tà &Ù �d—o‘o w§~¡~°t·±Ó Gð Ià $ g×&7Ñ&7Ð 8Ø Ù �g—o‘o t§|¡|Ó 4°eð =à !Ù �g—o‘o t§|¡|°W·_±_Ó Eð Gà  §¡°+Ð >Ø 'Ù �g—o‘o¡u¨[Ó'9¸7¿?¹?Ó Kð Mà Ù �g—o‘o¡u¨[Ó'9¸7¿?¹?Ó Kð Mð ñ˜% Ó*ð ,ð�TˆNð?  ðD�G—O‘OÐ $Ø 7¸¿¹Ð FÙ �E‹Nð ð *Ù �d—n‘n d¨FÓ 3ð 5à ˜Ÿ™¨Ð 0Ø �TˆNð  ð�f˜fÐ %Ø �f˜fÐ %Ø ˜ Ð (ð ñ[2�FrrrDcó2‡—eZdZdZdZdgZdgZˆfd„ZˆxZS)rEzw Subclass of the `MakoLexer` that highlights unlexed data with the `HtmlLexer`. .. versionadded:: 0.7 z HTML+Makoz html+makoztext/html+makoc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrDrÑs €rqrnzMakoHtmlLexer.__init__Žóø€Ü ‰Ñœ¤IÑ9°Ó9rrrÿrÖs@rqrErE‚s(ø„ñð €D؈m€GØ!Ð"€I÷:ð:rrrEcó2‡—eZdZdZdZdgZdgZˆfd„ZˆxZS)rFzv Subclass of the `MakoLexer` that highlights unlexed data with the `XmlLexer`. .. versionadded:: 0.7 zXML+Makozxml+makozapplication/xml+makoc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrDrÑs €rqrnzMakoXmlLexer.__init__žóø€Ü ‰Ñœ¤9Ñ8°Ó8rrrÿrÖs@rqrFrF’s(ø„ñð €D؈l€GØ'Ð(€I÷9ð9rrrFcó6‡—eZdZdZdZddgZgd¢Zˆfd„ZˆxZS)rGz} Subclass of the `MakoLexer` that highlights unlexed data with the `JavascriptLexer`. .. versionadded:: 0.7 zJavaScript+Makozjavascript+makozjs+mako)zapplication/x-javascript+makoztext/x-javascript+makoztext/javascript+makoc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrDrÑs €rqrnzMakoJavascriptLexer.__init__°sø€Ü ‰Ñœ¬)Ñ?°wÓ?rrrÿrÖs@rqrGrG¢s,ø„ñð €DØ  )Ð,€Gò)€I÷@ð@rrrGcó2‡—eZdZdZdZdgZdgZˆfd„ZˆxZS)rHzv Subclass of the `MakoLexer` that highlights unlexed data with the `CssLexer`. .. versionadded:: 0.7 zCSS+Makozcss+makoz text/css+makoc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrDrÑs €rqrnzMakoCssLexer.__init__ÀrrrrÿrÖs@rqrHrH´s(ø„ñð €D؈l€GØ Ð!€I÷9ð9rrrHcó—eZdZdZd„Zy)ÚCheetahPythonLexerzI Lexer for handling Cheetah's special $ tokens in Python syntax. c#óÈK—tdi|j¤Ž}|j|«D]5\}}}|tjk(r|dk(rt j }|||f–—Œ7y­w)NÚ$rk)r rprr#rrr~)ror�ÚpylexerÚposÚtype_Úvalues rqrz)CheetahPythonLexer.get_tokens_unprocessedËs\èø€ÜÑ- § ¡ Ñ-ˆØ!(×!?Ñ!?ÀÖ!EÑ ˆC�˜ØœŸ ™ Ò#¨°ª ÜŸ™�Ø�u˜eÐ#Ó #ñ"Fùs‚A A"N)r�r�r‘r’rrkrrrqr$r$Æs „ñó$rrr$cóX—eZdZdZdZdZddgZddgZdd gZd d e e «fd e fd e jfde jfde e je e «e j«fde e je e ««fde e je e «e j«fdefdefg iZy)rJzô Generic cheetah templates lexer. Code that isn't Cheetah markup is yielded as `Token.Other`. This also works for `spitfire templates`_ which use the same syntax. .. _spitfire templates: http://code.google.com/p/spitfire/ ÚCheetahzhttp://www.cheetahtemplate.org/ÚcheetahÚspitfirez*.tmplz*.sptzapplication/x-cheetahzapplication/x-spitfirerªz (##[^\n]*)$z#[*](.|\n)*?[*]#z#end[^#\n]*(?:#|$)z#slurp$z(#[a-zA-Z]+)([^#\n]*)(#|$)z(\$)([a-zA-Z_][\w.]*\w)z(?s)(\$\{!?)(.*?)(\})a(?sx) (.+?) # anything, followed by: (?: (?=\#[#a-zA-Z]*) | # an eval comment (?=\$[a-zA-Z_{]) | # a substitution \Z # end of string ) r¡N)r�r�r‘r’r“r”r•r³r–rrr~rr$r"rr‚rkrrrqrJrJÓsô„ñð €DØ +€Cؘ*Ð%€Gؘ7Ð#€IØ(Ð*BÐC€Ið Ø Ù�wÓð "à  'Ð *Ø " G§O¡OÐ 4Ø ˜Ÿ™Ð )Ø *Ù�w—‘©Ð.@Ó(AØ—‘ó(ð *ð(Ù �g—o‘o¡uÐ-?Ó'@Ó Að Cà %Ù �g—o‘o¡uÐ-?Ó'@Ø—o‘oó'ð (ððð ð�TˆNð/ ð�FrrrJcó6‡—eZdZdZdZgd¢ZddgZˆfd„ZˆxZS)rKz_ Subclass of the `CheetahLexer` that highlights unlexed data with the `HtmlLexer`. z HTML+Cheetah)z html+cheetahz html+spitfireÚ htmlcheetahztext/html+cheetahztext/html+spitfirec ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrJrÑs €rqrnzCheetahHtmlLexer.__init__ sø€Ü ‰Ñœ¤LÑ<°GÓ€GØ$Ð&:Ð;€I÷=ð=rrrKcó6‡—eZdZdZdZddgZddgZˆfd„ZˆxZS)rLz^ Subclass of the `CheetahLexer` that highlights unlexed data with the `XmlLexer`. z XML+Cheetahz xml+cheetahz xml+spitfirezapplication/xml+cheetahzapplication/xml+spitfirec ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrJrÑs €rqrnzCheetahXmlLexer.__init__óø€Ü ‰Ñœ¤<Ñ;°7Ó;rrrÿrÖs@rqrLrL s.ø„ñð €DؘnÐ-€GØ*Ð,FÐG€I÷<ð€Ið˜%Ð Ø ™x¨¨gÓ6Ð 7Ø ™8 D¨'¯/©/Ó:¸KÐ HÙ �JÓ Ø ˜Ð ð  ð�D˜&Ð !Ø #¡U¨;Ó%7¸Ð @Ø 0Ù �g˜t¡U¨;Ó%7Ó 8¸&ð Bà $ g¨vÐ 6Ø &©°¸$ÀÓ(HÈ&Ð Qð  ð'Ù �g—o‘o¡u¨[Ó'9¸7¿?¹?Ó Kð Mà ,Ø �]‰]ð ð ñ!�Frrr;có’—eZdZdZej Zdefdee je e «e j«fdefde jdfde jdfed «d efgd efd e j"d fde jdfgdeee e «e«dfdeee e «e«dfdedfgd efde j"d fd e j"dfde jdfgdedfdedfdedfgdedfed«defgdedfed«defgdefed «gdee je e «e j«fde j&fgdœ Zy) ÚGenshiMarkupLexerzX Base lexer for Genshi markup, used by `HtmlGenshiLexer` and `GenshiLexer`. z[^<$]+z(<\?python)(.*?)(\?>)z'<\s*(script|style)\s*.*?>.*?<\s*/\1\s*>z<\s*py:[a-zA-Z0-9]+Úpytagz<\s*[a-zA-Z0-9:.]+r†rÃz[<$]r¡z [\w:-]+\s*=Úpyattrrr¤z (")(.*?)(")z (')(.*?)(')rz py:[\w-]+\s*=rÚ"ú attr-dstringÚ'ú attr-sstringz[^\s>]*Ústringsz[^"'$]+r:z(?r†rr@rBrCrÃN)r�r�r‘r’r—rµr¶r"rrr~rr rrûrrr¼r r¸r‚rkrrrqr<r<RsØ„ñð �I‰I€Eð˜Ð Ø %Ù �g—o‘o¡u¨[Ó'9¸7¿?¹?Ó Kð Mð8¸Ð ?Ø # T§X¡X¨wÐ 7Ø " D§H¡H¨eÐ 4Ù �JÓ Ø �eÐ ð  ð�TˆNØ ˜TŸ^™^¨XÐ 6Ø ˜Ÿ™ &Ð )ð ð ™H V©U°;Ó-?ÀÓHÈ&Ð QØ ™H V©U°;Ó-?ÀÓHÈ&Ð QØ ˜ Ð (ð ð �TˆNØ ˜tŸ~™~¨xÐ 8Ø ˜TŸ^™^¨VÐ 4Ø ˜Ÿ™ &Ð )ð  ð�&˜.Ð )Ø �&˜.Ð )Ø ˜ Ð (ð ð �&˜&Ð !Ù �IÓ Ø �&ˆMð ð �&˜&Ð !Ù �IÓ Ø �&ˆMð ð ˜Ð Ù �JÓ ð ð 'Ù �g—o‘o¡u¨[Ó'9¸7¿?¹?Ó Kð Mà -Ø �]‰]ð ð ñ_5�Frrr<cóB‡—eZdZdZdZddgZgd¢ZdgZˆfd„Zd„Z ˆxZ S) r:z‰ A lexer that highlights `genshi `_ and `kid `_ kid HTML templates. z HTML+Genshiz html+genshizhtml+kid©rÍú*.htmú*.xhtmlztext/html+genshic ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr<rÑs €rqrnzHtmlGenshiLexer.__init__�sø€Ü ‰ÑœÔ$5ÑA¸ÓArrcó¨—d}tjd|«�|dz }tjd|«�|dz }|tj|«zdz S©Nr¬z \$\{.*?\}çš™™™™™É?zpy:(.*?)=["\']r®)r—r°rrŽr±s rqrŽzHtmlGenshiLexer.analyse_text sW€Ø ˆÜ �9‰9�\ 4Ó (Ð 4Ø �#‰IˆBÜ �9‰9Ð&¨Ó -Ð 9Ø �#‰IˆBØ”I×*Ñ*¨4Ó0Ñ0°4Ñ7Ð7rrrÜrÖs@rqr:r:’s1ø„ñð €DؘjÐ)€GÚ4€OØ#Ð$€IôBö8rrr:cóH‡—eZdZdZdZgd¢ZdgZdgZddgZˆfd„Z d „Z ˆxZ S) r9zˆ A lexer that highlights `genshi `_ and `kid `_ kid XML templates. ÚGenshi)ÚgenshiÚkidz xml+genshizxml+kidz*.kidrØzapplication/x-genshizapplication/x-kidc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr<rÑs €rqrnzGenshiLexer.__init__µsø€Ü ‰ÑœÔ#4Ñ@¸Ó@rrcó¨—d}tjd|«�|dz }tjd|«�|dz }|tj|«zdz SrJ)r—r°rrŽr±s rqrŽzGenshiLexer.analyse_text¸sW€Ø ˆÜ �9‰9�\ 4Ó (Ð 4Ø �#‰IˆBÜ �9‰9Ð&¨Ó -Ð 9Ø �#‰IˆBØ”H×)Ñ)¨$Ó/Ñ/°$Ñ6Ð6rr© r�r�r‘r’r“r•r³rÔr–rnrŽrÕrÖs@rqr9r9©s8ø„ñð €DÚ8€GØ� €IØ�i€OØ'Ð)<Ð=€IôAö7rrr9cóB‡—eZdZdZdZgd¢ZdgZgd¢Zˆfd„Zd„Z ˆxZ S)r=zK A lexer that highlights javascript code in genshi text templates. zJavaScript+Genshi Text)z js+genshitextz js+genshizjavascript+genshitextzjavascript+genshiú*.js)zapplication/x-javascript+genshiztext/x-javascript+genshiztext/javascript+genshic ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr;rÑs €rqrnzJavascriptGenshiLexer.__init__Îsø€Ü ‰Ñœ¬/ÑE¸WÓErrcó2—tj|«dz S©Nçš™™™™™©?©r9rŽr�s rqrŽz"JavascriptGenshiLexer.analyse_textÑó€Ü×'Ñ'¨Ó-°Ñ4Ð4rrrÜrÖs@rqr=r=Ás/ø„ñð $€Dò$€Gà�h€Oò+€IôFö5rrr=có@‡—eZdZdZdZddgZdgZdgZˆfd„Zd„Z ˆxZ S) r<zK A lexer that highlights CSS definitions in genshi text templates. zCSS+Genshi Textzcss+genshitextz css+genshiú*.cssztext/css+genshic ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr;rÑs €rqrnzCssGenshiLexer.__init__ßsø€Ü ‰Ñœ¤?Ñ>°gÓ>rrcó2—tj|«dz SrWrYr�s rqrŽzCssGenshiLexer.analyse_textârZrrrÜrÖs@rqr<r<Õs2ø„ñð €DØ Ð.€GØ�i€OØ"Ð#€Iô?ö5rrr<cóH‡—eZdZdZdZgd¢ZdgZgd¢ZdgZˆfd„Z d„Z ˆxZ S) r+z� Subclass of the ERB lexer that highlights the unlexed data with the html lexer. Nested Javascript and CSS is highlighted too. ÚRHTML)Úrhtmlzhtml+erbz html+rubyz*.rhtmlrEztext/html+rubyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr*rÑs €rqrnzRhtmlLexer.__init__ôóø€Ü ‰Ñœ¤HÑ8°Ó8rrcóV—tj|«dz }t|«r|dz }|S©Nr®gà?)r*rŽr$r±s rqrŽzRhtmlLexer.analyse_text÷s-€Ü × "Ñ " 4Ó (¨4Ñ /ˆÜ  Ô %à �#‰IˆB؈ rrrRrÖs@rqr+r+æs2ø„ñð €DÚ0€GØ� €IÚ4€OØ!Ð"€Iô9örrr+có@‡—eZdZdZdZddgZdgZdgZˆfd„Zd„Z ˆxZ S) r,zo Subclass of `ErbLexer` which highlights data outside preprocessor directives with the `XmlLexer`. zXML+Rubyzxml+rubyzxml+erbrØzapplication/xml+rubyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr*rÑs €rqrnzXmlErbLexer.__init__ óø€Ü ‰Ñœ¤8Ñ7¨wÓ7rrcóV—tj|«dz }t|«r|dz }|SrÛ)r*rŽr%r±s rqrŽzXmlErbLexer.analyse_text ó-€Ü × "Ñ " 4Ó (¨4Ñ /ˆÜ ˜$Ô Ø �#‰IˆB؈ rrrÜrÖs@rqr,r,ÿs2ø„ñð €Dؘ9Ð%€GØ�i€OØ'Ð(€Iô8örrr,có@‡—eZdZdZdZddgZdgZdgZˆfd„Zd„Z ˆxZ S) r-zS Subclass of `ErbLexer` which highlights unlexed data with the `CssLexer`. zCSS+Rubyzcss+rubyzcss+erbr\z text/css+rubyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr*rÑs €rqrnzCssErbLexer.__init__rhrrcó2—tj|«dz SrW©r*rŽr�s rqrŽzCssErbLexer.analyse_text!ó€Ü×$Ñ$ TÓ*¨TÑ1Ð1rrrÜrÖs@rqr-r-s2ø„ñð €Dؘ9Ð%€GØ�i€OØ Ð!€Iô8ö2rrr-cóB‡—eZdZdZdZgd¢ZdgZgd¢Zˆfd„Zd„Z ˆxZ S)r.z^ Subclass of `ErbLexer` which highlights unlexed data with the `JavascriptLexer`. zJavaScript+Ruby)zjavascript+rubyzjs+rubyzjavascript+erbzjs+erbrT)zapplication/x-javascript+rubyztext/x-javascript+rubyztext/javascript+rubyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr*rÑs €rqrnzJavascriptErbLexer.__init__2óø€Ü ‰Ñœ¬(Ñ>°gÓ>rrcó2—tj|«dz SrWrnr�s rqrŽzJavascriptErbLexer.analyse_text5rorrrÜrÖs@rqr.r.%s,ø„ñð €DÚH€GØ�h€Oò)€Iô?ö2rrr.cóH‡—eZdZdZdZdgZdgZgd¢Zgd¢Zˆfd„Z d„Z ˆxZ S) r&zˆ Subclass of `PhpLexer` that highlights unhandled data with the `HtmlLexer`. Nested Javascript and CSS is highlighted too. zHTML+PHPzhtml+phpz*.phtml)ú*.phprÍrFrGú *.php[345])zapplication/x-phpzapplication/x-httpd-phpzapplication/x-httpd-php3zapplication/x-httpd-php4zapplication/x-httpd-php5c ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrrÑs €rqrnzHtmlPhpLexer.__init__IrcrrcóV—tj|«dz }t|«r|dz }|Sre)rrŽr$r±s rqrŽzHtmlPhpLexer.analyse_textLs-€Ü × "Ñ " 4Ó (¨4Ñ /ˆÜ  Ô %Ø �#‰IˆB؈ rrrRrÖs@rqr&r&9s6ø„ñð €D؈l€GØ� €Iò%€OòI€Iô9örrr&có@‡—eZdZdZdZdgZgd¢ZdgZˆfd„Zd„Z ˆxZ S)r'zT Subclass of `PhpLexer` that highlights unhandled data with the `XmlLexer`. zXML+PHPzxml+php)rØrurvzapplication/xml+phpc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrrÑs €rqrnzXmlPhpLexer.__init__]rhrrcóV—tj|«dz }t|«r|dz }|SrÛ)rrŽr%r±s rqrŽzXmlPhpLexer.analyse_text`rjrrrÜrÖs@rqr'r'Ss-ø„ñð €D؈k€GÚ6€OØ&Ð'€Iô8örrr'có>‡—eZdZdZdZdgZdgZdgZˆfd„Zd„Z ˆxZ S)r(zU Subclass of `PhpLexer` which highlights unmatched data with the `CssLexer`. zCSS+PHPzcss+phpr\z text/css+phpc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrrÑs €rqrnzCssPhpLexer.__init__qrhrrcó2—tj|«dz SrW©rrŽr�s rqrŽzCssPhpLexer.analyse_texttrorrrÜrÖs@rqr(r(gs/ø„ñð €D؈k€GØ�i€OØÐ €Iô8ö2rrr(cóB‡—eZdZdZdZddgZdgZgd¢Zˆfd„Zd„Z ˆxZ S) r)z` Subclass of `PhpLexer` which highlights unmatched data with the `JavascriptLexer`. zJavaScript+PHPzjavascript+phpzjs+phprT)zapplication/x-javascript+phpztext/x-javascript+phpztext/javascript+phpc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrrÑs €rqrnzJavascriptPhpLexer.__init__…rrrrcó,—tj|«SrÏrr�s rqrŽzJavascriptPhpLexer.analyse_textˆs€Ü×$Ñ$ TÓ*Ð*rrrÜrÖs@rqr)r)xs1ø„ñð €DØ Ð*€GØ�h€Oò(€Iô?ö+rrr)có@‡—eZdZdZdZdgZgd¢ZdgZˆfd„Zd„Z ˆxZ S)r0z‘ Subclass of the `SmartyLexer` that highlights unlexed data with the `HtmlLexer`. Nested Javascript and CSS is highlighted too. z HTML+Smartyz html+smarty)rÍrFrGr�ztext/html+smartyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr/rÑs €rqrnzHtmlSmartyLexer.__init__™rþrrcóV—tj|«dz }t|«r|dz }|Sre)r/rŽr$r±s rqrŽzHtmlSmartyLexer.analyse_textœó-€Ü × %Ñ % dÓ +¨dÑ 2ˆÜ  Ô %Ø �#‰IˆB؈ rrrÜrÖs@rqr0r0Œs-ø„ñð €D؈o€GÚ=€OØ#Ð$€Iô<örrr0có@‡—eZdZdZdZdgZddgZdgZˆfd„Zd„Z ˆxZ S) r1z] Subclass of the `SmartyLexer` that highlights unlexed data with the `XmlLexer`. z XML+Smartyz xml+smartyrØr�zapplication/xml+smartyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr/rÑs €rqrnzXmlSmartyLexer.__init__®rrrcóV—tj|«dz }t|«r|dz }|SrÛ)r/rŽr%r±s rqrŽzXmlSmartyLexer.analyse_text±ó-€Ü × %Ñ % dÓ +¨dÑ 2ˆÜ ˜$Ô Ø �#‰IˆB؈ rrrÜrÖs@rqr1r1£s2ø„ñð €D؈n€GØ Ð(€OØ)Ð*€Iô;örrr1có@‡—eZdZdZdZdgZddgZdgZˆfd„Zd„Z ˆxZ S) r2z] Subclass of the `SmartyLexer` that highlights unlexed data with the `CssLexer`. z CSS+Smartyz css+smartyr\r�ztext/css+smartyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr/rÑs €rqrnzCssSmartyLexer.__init__Ãrrrcó2—tj|«dz SrW©r/rŽr�s rqrŽzCssSmartyLexer.analyse_textÆrZrrrÜrÖs@rqr2r2¸s2ø„ñð €D؈n€GØ Ð(€OØ"Ð#€Iô;ö5rrr2cóD‡—eZdZdZdZddgZddgZgd¢Zˆfd„Zd „Z ˆxZ S) r3zd Subclass of the `SmartyLexer` that highlights unlexed data with the `JavascriptLexer`. zJavaScript+Smartyzjavascript+smartyz js+smartyrTr�)zapplication/x-javascript+smartyztext/x-javascript+smartyztext/javascript+smartyc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr/rÑs €rqrnzJavascriptSmartyLexer.__init__×rrrcó2—tj|«dz SrWrŽr�s rqrŽz"JavascriptSmartyLexer.analyse_textÚrZrrrÜrÖs@rqr3r3Ês5ø„ñð €DØ" KÐ0€GؘwÐ'€Oò+€IôBö5rrr3cóL‡—eZdZdZdZgd¢Zgd¢Zgd¢ZddgZˆfd„Z d „Z ˆxZ S) r5z‘ Subclass of the `DjangoLexer` that highlights unlexed data with the `HtmlLexer`. Nested Javascript and CSS is highlighted too. zHTML+Django/Jinja)z html+djangoz html+jinjaÚ htmldjango)z *.html.j2z*.htm.j2z *.xhtml.j2z *.html.jinja2z *.htm.jinja2z*.xhtml.jinja2rEztext/html+djangoztext/html+jinjac ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr4rÑs €rqrnzHtmlDjangoLexer.__init__ìrþrrcóV—tj|«dz }t|«r|dz }|Sre)r4rŽr$r±s rqrŽzHtmlDjangoLexer.analyse_textïr†rrrRrÖs@rqr5r5Þs3ø„ñð €DÚ9€GÚj€IÚ4€OØ#Ð%6Ð7€Iô<örrr5cóJ‡—eZdZdZdZddgZddgZdgZdd gZˆfd „Z d „Z ˆxZ S) r7z] Subclass of the `DjangoLexer` that highlights unlexed data with the `XmlLexer`. zXML+Django/Jinjaz xml+djangoz xml+jinjaz*.xml.j2z *.xml.jinja2rØzapplication/xml+djangozapplication/xml+jinjac ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr4rÑs €rqrnzXmlDjangoLexer.__init__rrrcóV—tj|«dz }t|«r|dz }|SrÛ)r4rŽr%r±s rqrŽzXmlDjangoLexer.analyse_textrŠrrrRrÖs@rqr7r7ös?ø„ñð €Dؘ[Ð)€Gؘ^Ð,€IØ�i€OØ)Ð+BÐC€Iô;örrr7cóJ‡—eZdZdZdZddgZddgZdgZdd gZˆfd „Z d „Z ˆxZ S) r6z] Subclass of the `DjangoLexer` that highlights unlexed data with the `CssLexer`. zCSS+Django/Jinjaz css+djangoz css+jinjaz*.css.j2z *.css.jinja2r\ztext/css+djangoztext/css+jinjac ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr4rÑs €rqrnzCssDjangoLexer.__init__rrrcó2—tj|«dz SrW©r4rŽr�s rqrŽzCssDjangoLexer.analyse_textrZrrrRrÖs@rqr6r6 s?ø„ñð €Dؘ[Ð)€Gؘ^Ð,€IØ�i€OØ"Ð$4Ð5€Iô;ö5rrr6cóJ‡—eZdZdZdZgd¢ZddgZdgZgd¢Zˆfd„Z d „Z ˆxZ S) r8zd Subclass of the `DjangoLexer` that highlights unlexed data with the `JavascriptLexer`. zJavaScript+Django/Jinja)zjavascript+djangoz js+djangozjavascript+jinjazjs+jinjaz*.js.j2z *.js.jinja2rT)zapplication/x-javascript+djangozapplication/x-javascript+jinjaztext/x-javascript+djangoztext/x-javascript+jinjaztext/javascript+djangoztext/javascript+jinjac ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr4rÑs €rqrnzJavascriptDjangoLexer.__init__1rrrcó2—tj|«dz SrWrœr�s rqrŽz"JavascriptDjangoLexer.analyse_text4rZrrrRrÖs@rqr8r8s9ø„ñð %€Dò/€Gà˜MÐ*€IØ�h€Oò*€IôBö5rrr8cóN—eZdZdZdedfdefdefdefgdedfd ee«fgd œZy ) Ú JspRootLexerzt Base for the `JspLexer`. Yields `Token.Other` for area outside of JSP tags. .. versionadded:: 0.7 ú<%\S?ÚseczCú[^<]+Ú|\Z)©rªr£N) r�r�r‘r’rr"rr r‚rkrrrqr¡r¡8sW„ñð�w Ð &à SØ ð à �uÐ Ø �5ˆMð  ð�G˜VÐ $à !¡5¨Ó#3Ð 4ð ñ�Frrr¡có>‡—eZdZdZdZdgZdgZdgZˆfd„Zd„Z ˆxZ S)rIzA Lexer for Java Server Pages. .. versionadded:: 0.7 zJava Server PageÚjspz*.jspzapplication/x-jspc ó8•—t‰|�ttfi|¤ŽyrÏ©rÐrnrr¡rÑs €rqrnzJspLexer.__init__\r4rrcóp—tj|«dz }t|«r|dz }d|vr d|vr|dz }|S©Nr®rŒrwrxrì)r rŽr%r±s rqrŽzJspLexer.analyse_text_sC€Ü × #Ñ # DÓ )¨DÑ 0ˆÜ ˜$Ô Ø �#‰IˆBØ �4‰<˜D D™LØ �#‰IˆB؈ rr© r�r�r‘r’r“r•r³r–rnrŽrÕrÖs@rqrIrIQs/ø„ñð €D؈g€GØ� €IØ$Ð%€Iô<örrrIcó—eZdZdZdZdgZdgZdgZejZ de fde jdfd e fd e jfd eeej"ed ee«fd eeej"ed eee«e«fdeeej"ed ee«e«fdeeej"«fdeed ee«ej"d d e«fde fg de jfde jdfde jdfde jfgdœZd„Zy )rNzR For files using the Evoque templating system. .. versionadded:: 1.1 ÚEvoqueÚevoquez*.evoquezapplication/x-evoquez[^#$]+z#\[Úcommentz\$\$z\$\w+:[^$\n]*\$z'(\$)(begin|end)(\{(%)?)(.*?)((?(4)%)\})Nz>(\$)(evoque|overlay)(\{(%)?)(\s*[#\w\-"\'.]+)?(.*?)((?(4)%)\})z!(\$)(\w+)(\{(%)?)(.*?)((?(4)%)\})z(\$)(else|rof|fi)z%(\$\{(%)?)(.*?)((!)(.*?))?((?(2)%)\})Ú#z[^\]#]r¢z\]#r¤z[\]#])rªr²có—d|vryy)z.Evoque templates use $evoque, which is unique.z$evoquertNrkr�s rqrŽzEvoqueLexer.analyse_textœs€à ˜Ñ Øð rr)r�r�r‘r’r“r•r³r–r—rµr¶r"rrrrrrïr rr r‚rŽrkrrrqrNrNhsl„ñð €D؈j€GØ� €IØ'Ð(€Ià �I‰I€Eð˜Ð Ø �W×&Ñ&¨ Ð 2Ø �eÐ à  ×!2Ñ!2Ð 3à 7Ù �k 4§<¡<°¸dؘkó+ð ,ð!á �k 4§<¡<°¸dØ™e KÓ0°+ó?ð @ð 2Ù �k 4§<¡<°¸dÙ˜KÓ(¨+ó7ð 8ð"¡8¨K¸¿¹Ó#FÐ Gà 5Ù �k 4©¨{Ó);Ø—l‘l D¨$° ó=ð >ð�5ˆMð9 ð>˜×)Ñ)Ð *Ø �W×&Ñ&¨Ð 0Ø �W×&Ñ&¨Ð /Ø �w×(Ñ(Ð )ð  ñ?%€FóNrrrNcó>‡—eZdZdZdZdgZdgZdgZˆfd„Zd„Z ˆxZ S)rOzy Subclass of the `EvoqueLexer` that highlights unlexed data with the `HtmlLexer`. .. versionadded:: 1.1 z HTML+Evoquez html+evoquerÍztext/html+evoquec ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrNrÑs €rqrnzEvoqueHtmlLexer.__init__­rþrrcó,—tj|«SrÏ©rNrŽr�s rqrŽzEvoqueHtmlLexer.analyse_text°ó€Ü×'Ñ'¨Ó-Ð-rrr®rÖs@rqrOrO¡s/ø„ñð €D؈o€GØ� €IØ#Ð$€Iô<ö.rrrOcó>‡—eZdZdZdZdgZdgZdgZˆfd„Zd„Z ˆxZ S)rPzx Subclass of the `EvoqueLexer` that highlights unlexed data with the `XmlLexer`. .. versionadded:: 1.1 z XML+Evoquez xml+evoquerØzapplication/xml+evoquec ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrNrÑs €rqrnzEvoqueXmlLexer.__init__Àrrrcó,—tj|«SrÏr¸r�s rqrŽzEvoqueXmlLexer.analyse_textÃr¹rrr®rÖs@rqrPrP´s/ø„ñð €D؈n€GØ� €IØ)Ð*€Iô;ö.rrrPcóì—eZdZdZdZdgZgZgZejZ de jfde jfdefdefdefd efd efd efd efd ej dfdejfdefdefdej&fdej&fdeej,ee«fdej2fdefdefgdej fdej4fdej fdej fd ej dfgdœZy)rQz Coldfusion statements Ú cfstatementÚcfsz//.*?\nz/\*(?:.|\n)*?\*/z\+\+|--z [-+*/^&=!]z <=|>=|<|>|==zmod\bz"(eq|lt|gt|lte|gte|not|is|and|or)\bz\|\||&&z\?r?Ústringrú\d+zÎ(if|else|len|var|xml|default|break|switch|component|property|function|do|try|catch|in|continue|for|return|while|required|any|array|binary|boolean|component|date|guid|numeric|query|string|struct|uuid|case)\br¥zD(application|session|client|cookie|super|this|variables|arguments)\bz([a-z_$][\w.]*)(\s*)(\()z [a-z_$][\w.]*z[()\[\]{};:,.\\]r¡z""z#.+?#z[^"#]+r³r¤)rªrÀN)r�r�r‘r’r“r•r³r–r—Ú IGNORECASEr¶rr»rrr rºr!rr¹rrr·rrr¸ÚInterpr‚rkrrrqrQrQÇsR„ñð €D؈g€GØ€IØ€IØ �M‰M€E𘟙Р(Ø  '×"3Ñ"3Ð 4Ø ˜Ð "Ø ˜HÐ %Ø ˜hÐ 'Ø �xÐ Ø 2°HÐ =Ø ˜Ð "Ø �HÐ Ø �6—=‘= (Ð +ð�v—}‘}Ð %Ø �VÐ ðMàNUð Wð$ W×%5Ñ%5Ð 6Ø TØ �]‰]ð à (Ù �d—m‘m T¨;Ó 7ð 9à ˜tŸ}™}Ð -Ø  +Ð .Ø �TˆNð3 ð8�F—M‘MÐ "Ø �v—}‘}Ð %Ø ˜Ÿ ™ Ð &Ø �6—=‘=Ð !Ø �6—=‘= &Ð )ð  ñ9#�FrrrQc óÌ—eZdZdZdZdgZgZgZdefe d«defgde jdfd e fd e jd fd ee jee«e j«fd ee jee«e j«fgdefdeeee«e«fde jdfe d«defdefgde jdfde jdfde jfgdœZy)ÚColdfusionMarkupLexerz Coldfusion markup only Ú ColdfusionÚcfr¤Útagsz<[^<>]*zz Úcfoutputz((?s)()(.+?)()zì(?s)()z[^#<]+z (#)(.*?)(#)zr¤z (?s)<[^<>]*r³r¢z--->z([^<-]|<(?!!---)|-(?!-->))+)rªrÈrÊrÉN)r�r�r‘r’r“r•r³r–r"rrrrrïrrrQrr‚rkrrrqrÅrÅ÷s?„ñð €D؈f€GØ€IØ€Ið�uÐ Ù �F‹OØ ˜Ð ð ð �w×(Ñ(¨+Ð 6Ø  Ð (Ø ˜tŸ|™|¨ZÐ 8Ø 8Ù �d—l‘l¡E¨/Ó$:¸D¿L¹LÓ Ið KðQñ�d—l‘l¡E¨/Ó$:¸D¿L¹LÓ Ið  Kð  ð˜Ð Ø ™X k±5¸Ó3IØ&1ó3ð 4ð § ¡ ¨fÐ 5Ù �F‹OØ ˜UÐ #Ø �5ˆMð  ð�w×(Ñ(¨'Ð 2Ø �g×'Ñ'¨Ð 0Ø +¨W×->Ñ->Ð ?ð ñ;"�FrrrÅcó:‡—eZdZdZdZdgZddgZdgZˆfd„ZˆxZ S)rRz# Coldfusion markup in html zColdfusion HTMLÚcfmz*.cfmz*.cfmlzapplication/x-coldfusionc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrÅrÑs €rqrnzColdfusionHtmlLexer.__init__.sø€Ü ‰ÑœÔ$9ÑE¸WÓErr© r�r�r‘r’r“r•r³r–rnrÕrÖs@rqrRrR%s4ø„ñð €D؈g€Gؘ(Ð#€IØ+Ð,€I÷FðFrrrRcó6‡—eZdZdZdZdgZdgZgZˆfd„ZˆxZ S)rSzH Coldfusion markup/script components .. versionadded:: 2.0 zColdfusion CFCÚcfcz*.cfcc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrRrQrÑs €rqrnzColdfusionCFCLexer.__init__=sø€Ü ‰ÑÔ,¬oÑIÀÓIrrrÎrÖs@rqrSrS2s.ø„ñð €D؈g€GØ� €IØ€I÷JðJrrrScó>‡—eZdZdZdZdgZdgZdgZˆfd„Zd„Z ˆxZ S)rWzD Lexer for Scalate Server Pages. .. versionadded:: 1.4 zScalate Server PageÚsspz*.sspzapplication/x-sspc ó8•—t‰|�ttfi|¤ŽyrÏr«rÑs €rqrnzSspLexer.__init__Lr4rrcóz—d}tjd|«r|dz }t|«r|dz }d|vr d|vr|dz }|S)Nr¬z val \w+\s*:g333333ã?rKrwrxrì)r—r°r%r±s rqrŽzSspLexer.analyse_textOsJ€Ø ˆÜ �9‰9�^ TÔ *Ø �#‰IˆBÜ ˜$Ô Ø �#‰IˆBØ �4‰<˜D D™LØ �#‰IˆB؈ rrr®rÖs@rqrWrWAs/ø„ñð !€D؈g€GØ� €IØ$Ð%€Iô<örrrWcóH—eZdZdZdedfdefdefgdedfdee«fgd œZy ) ÚTeaTemplateRootLexerz Base for the `TeaTemplateLexer`. Yields `Token.Other` for area outside of code blocks. .. versionadded:: 1.5 r¢r£r¤r¥rxr¤r¦r§N) r�r�r‘r’rr"rr r‚rkrrrqr×r×ZsL„ñð�w Ð &Ø �uÐ Ø �5ˆMð ð �G˜VÐ $à !¡5¨Ó#6Ð 7ð ñ �Frrr×có>‡—eZdZdZdZdgZdgZdgZˆfd„Zd„Z ˆxZ S)rXzW Lexer for `Tea Templates `_. .. versionadded:: 1.5 ÚTeaÚteaz*.teaz text/x-teac ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr×rÑs €rqrnzTeaTemplateLexer.__init__{sø€Ü ‰ÑœÔ#7ÑC¸7ÓCrrcóp—tj|«dz }t|«r|dz }d|vr d|vr|dz }|Sr­)r rŽr%r±s rqrŽzTeaTemplateLexer.analyse_text~sC€Ü × &Ñ & tÓ ,¨tÑ 3ˆÜ ˜$Ô Ø �#‰IˆBØ �4‰<˜D D™LØ �#‰IˆB؈ rrr®rÖs@rqrXrXps/ø„ñð €D؈g€GØ� €IØ�€IôDörrrXcóB‡—eZdZdZdZdgZgd¢Zgd¢Zˆfd„Zd„Z ˆxZ S)rYz¯ Subclass of the `LassoLexer` which highlights unhandled data with the `HtmlLexer`. Nested JavaScript and CSS is also highlighted. .. versionadded:: 1.6 z HTML+Lassoz html+lasso)rÍrFrGú*.lassoú *.lasso[89]ú*.inclú*.incú*.las)ztext/html+lassozapplication/x-httpd-lassozapplication/x-httpd-lasso[89]c ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrrÑs €rqrnzLassoHtmlLexer.__init__™sø€Ü ‰Ñœ¤JÑ:°'Ó:rrcóV—tj|«dz }t|«r|dz }|Sre)rrŽr$r±s rqrŽzLassoHtmlLexer.analyse_textœs-€Ü × $Ñ $ TÓ *¨TÑ 1ˆÜ  Ô %Ø �#‰IˆB؈ rrrÜrÖs@rqrYrY‡s.ø„ñð €D؈n€Gò3€Oò2€Iô;örrrYcó@‡—eZdZdZdZdgZgd¢ZdgZˆfd„Zd„Z ˆxZ S)rZzz Subclass of the `LassoLexer` which highlights unhandled data with the `XmlLexer`. .. versionadded:: 1.6 z XML+Lassoz xml+lasso)rØrÞrßràrárâzapplication/xml+lassoc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrrÑs €rqrnzLassoXmlLexer.__init__±sø€Ü ‰Ñœ¤:Ñ9°Ó9rrcóV—tj|«dz }t|«r|dz }|SrÛ)rrŽr%r±s rqrŽzLassoXmlLexer.analyse_text´s-€Ü × $Ñ $ TÓ *¨TÑ 1ˆÜ ˜$Ô Ø �#‰IˆB؈ rrrÜrÖs@rqrZrZ£s/ø„ñð €D؈m€Gò3€Oà(Ð)€Iô:örrrZcó>‡—eZdZdZdZdgZdgZdgZˆfd„Zd„Z ˆxZ S)r[zz Subclass of the `LassoLexer` which highlights unhandled data with the `CssLexer`. .. versionadded:: 1.6 z CSS+Lassoz css+lassor\ztext/css+lassoc óB•—d|d<t‰|�ttfi|¤Žy©NTÚrequiredelimiters)rÐrnrrrÑs €rqrnzLassoCssLexer.__init__Ès"ø€Ø'+ˆÐ#Ñ$Ü ‰Ñœ¤:Ñ9°Ó9rrcó~—tj|«dz }tjd|«r|dz }d|vr|dz }|S)NrXz \w+:[^;]+;rìzpadding:)rrŽr—r°r±s rqrŽzLassoCssLexer.analyse_textÌsD€Ü × $Ñ $ TÓ *¨TÑ 1ˆÜ �9‰9�] DÔ )Ø �#‰IˆBØ ˜Ñ Ø �#‰IˆB؈ rrrÜrÖs@rqr[r[»s/ø„ñð €D؈m€GØ�i€OØ!Ð"€Iô:örrr[cóB‡—eZdZdZdZddgZdgZgd¢Zˆfd„Zd„Z ˆxZ S) r\z� Subclass of the `LassoLexer` which highlights unhandled data with the `JavascriptLexer`. .. versionadded:: 1.6 zJavaScript+Lassozjavascript+lassozjs+lassorT)zapplication/x-javascript+lassoztext/x-javascript+lassoztext/javascript+lassoc óB•—d|d<t‰|�ttfi|¤Žyrê)rÐrnrrrÑs €rqrnzLassoJavascriptLexer.__init__äs"ø€Ø'+ˆÐ#Ñ$Ü ‰Ñœ¬*Ñ@¸Ó@rrcó6—tj|«dz }|SrW)rrŽr±s rqrŽz!LassoJavascriptLexer.analyse_textès€Ü × $Ñ $ TÓ *¨TÑ 1ˆØˆ rrrÜrÖs@rqr\r\Õs2ø„ñð €DØ! :Ð.€GØ�h€Oò*€IôAörrr\cóÚ—eZdZdZdZdZdgZdefdefde eje «dfd e eje je j«dfd e eje «dfgd e fd ejd fde e ej«d fde eje«fde ee e«fde ee ej$«fde ee e«dfed«gd e fded fde ee ej$e «fde ee eed¬««fdej.fed«gdej$fdej$fdej$fged«dej2fdej4fd e fgd!œZy")#r]zÌ Generic handlebars template lexer. Highlights only the Handlebars template tags (stuff between `{{` and `}}`). Everything else is left for a delegating lexer. .. versionadded:: 2.0 Ú Handlebarszhttps://handlebarsjs.com/Ú handlebarsržz \{\{!.*\}\}z (\{\{\{)(\s*)r†z(\{\{)([#~/]+)([^\s}]*)ú (\{\{)(\s*)r¡z\}\}\}r¤z (~?)(\}\})z ([^\s}]+)(=)z(>)(\s*)(@partial-block)z(#?>)(\s*)([\w-]+)z (>)(\s*)(\()údynamic-partialÚgenericrÇz(lookup)(\s+)(\.|this)(\s+)z(lookup)(\s+)(\S+)rérƒz[\w-]+z[()/@a-zA-Z][\w-]*z\.[\w-]+z(this\/|\.\/|(\.\.\/)+)[\w-]+rårær¦)rªr†rôrÃrõN)r�r�r‘r’r“r”r•r"rrÚSpecialrr~r!r¼rrrr¸rrrrr·r rºr»r‚rkrrrqr]r]ísè„ñð €DØ %€C؈n€Gð�uÐ ð˜WÐ %ð™x¨¯©¸Ó>ÀÐ Fð(Ù �g—o‘o v×'7Ñ'7¸×9IÑ9IÓ JÈEð Sà ™X g§o¡o°tÓ<¸eÐ Dð  ð �TˆNà ˜Ÿ™¨Ð 0à ™H V¨W¯_©_Ó=¸vÐ Fð™h t§~¡~°xÓ@Ð Að)©(°7¸DÀ'Ó*JÐ KØ "¡H¨W°d¸D¿M¹MÓ$JÐ KØ ™h w°°kÓBØ ð ñ �IÓ ð! ð&�TˆNØ �K Ð (à +©X°g¸tØ6:·m±mÀTó.Kð Là "¡H¨W°dÙ-2°4¸zÔ-Jó%Lð Mà ˜Ÿ ™ Ð &á �IÓ ð  ð# D§M¡MÐ 2Ø ˜$Ÿ-™-Ð (Ø -¨t¯}©}Ð =ð ñ �JÓ ð+¨F¯M©MÐ :Ø *¨F¯M©MÐ :ð'Ø(.ð 0ð  ñg<�Frrr]có<‡—eZdZdZdZdgZddgZddgZˆfd„ZˆxZ S) r^z} Subclass of the `HandlebarsLexer` that highlights unlexed data with the `HtmlLexer`. .. versionadded:: 2.0 zHTML+Handlebarszhtml+handlebarsz *.handlebarsz*.hbsztext/html+handlebarsztext/x-handlebars-templatec ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr]rÑs €rqrnzHandlebarsHtmlLexer.__init__Gsø€Ü ‰Ñœ¤OÑ?°wÓ?rrrÎrÖs@rqr^r^:s8ø„ñð €DØ Ð!€GØ Ð)€IØ'Ð)EÐF€I÷@ð@rrr^có>‡—eZdZdZdZgd¢Zgd¢ZddgZˆfd„ZˆxZ S)r_z¦ Subclass of the `DjangoLexer` that highlights unlexed data with the `YamlLexer`. Commonly used in Saltstack salt states. .. versionadded:: 2.0 z YAML+Jinja)z yaml+jinjaÚsaltÚsls)z*.slsz *.yaml.j2z*.yml.j2z *.yaml.jinja2z *.yml.jinja2ztext/x-yaml+jinjaz text/x-slsc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnr r4rÑs €rqrnzYamlJinjaLexer.__init__ZrþrrrÎrÖs@rqr_r_Ks-ø„ñð €DÚ+€GÚS€IØ$ lÐ3€I÷<ðej0fg“d?ej2fd@e fgdAej6fdBej8fgdCej<fdDej>fged:«ed8«ed9«ed«gdEe fgdFe e e ej$e e «d%fd<]+)(\s*)([=!><]=?)(\s*)(\S+)(\s*)(%\})z\b!z\bnot\bz*([\w.\'"]+)(\s+)(contains)(\s+)([\w.\'"]+)z generic-valuezend-at-whitespaceÚoperatorz(\s*)((=|!|>|<)=?)(\s*)z(\s*)(\bcontains\b)(\s*)z%\}r¡z param-markupz([^\s=:]+)(\s*)(=|:)z(\{\{)(\s*)([^\s}])(\s*)(\}\})rÀÚnumberÚkeywordÚ,rêzvariable-param-markupz\b(false|true)\br©z(?<=\w)\.(?=\w)z'[^']*'z"[^"]*"z\d+\.\d+rÁz[ \t]+z (\{%)(\s*)(endcomment)(\s*)(%\})z(\{%)(\s*)(endraw)(\s*)(%\}))rÃrÀrrõrr²r)"r�r�r‘r’r“r”r•r³rrrrrrrÚReservedrrrûrr·rÚWordr¼r¹r¸r r»rºr!ÚFloatÚIntegerrr‚rkrrrqr`r`^sí„ñð €DØ :€C؈j€GØ� €Ið@ØØ �tÐ à ™H [°*Ó=¸~Ð Nà $Ù �k :©u°TÀ9Ô/MÓ NØ ð ð�DˆMð  ð@ð à -¨w×/?Ñ/?ÀÐ MØ ™X g×&6Ñ&6¸ ÓCÙ �n l°IÓ >ð @à Ù �g×&Ñ&¨ °KÓ @À&ð Jð2Ù �d—h‘h  ©E°$À Ô,KØ  +ó/Ø06ð 8ð$Ù �d—h‘h  ¨KÓ 8¸)ð Eà Ù �d—h‘h  ¨KÓ 8¸%ð Að0Ù �g×&Ñ&¨¨j¸+Ó FÈð Pà (Ù �d—h‘h  j°+Ó >Àð Hð3Ù �d—h‘h  Ù˜D¨ Ô2°KÀóMà "ð $𠡨¯©°:Ó >À Ð Mð= ð@ðZ Ù �LÓ !Ø �k 6Ð *à �K Ð +ð  ð[@ðh Ù �LÓ !Ø �kÐ#3Ð 4à #Ù �d—m‘m [°*Ó =¸ð Pð  ði@ðx Ø �K Ð (Ù �LÓ !Ù Ð*Ó +ð ðy@ðD Ù �NÓ #Ù �LÓ !à ?Ù ‘e˜D¨)Ô4°jÀ(Ø ¡%¨°iÔ"@À*Ø!ó#ð $ð�XÐ Ø ˜Ÿ™Ð 'Ø :Ù ‘e˜D¨)Ô4°jÀ(Ç-Á-Ø ¡%¨°iÔ"@óBð Cñ �IÓ Ù �LÓ !ð ðE@ðh Ù �IÓ Ù Ð'Ó (ð ði@ðr Ø 'Ù �j (¨D°*Ó =¸vð Gà (Ù �j (§-¡-°Ó <¸fð Fð ðs@ð@ Ø �k 6Ð *ð ðA@ðH Ø �[Ð"2Ð 3ð ðI@ðP Ø �Z Ð (ð ðQ@ðZ Ù �LÓ !à $Ù �d—n‘n j°(Ó ;ð =ð/Ù �k :©u°TÀ:Ô/NØ  +ó/ð 0ñ �HÓ Ù �HÓ Ù �IÓ Ø �;Ð ð ð[@ðz Ù �NÓ #Ø �4ˆLð! ð{@ðD Ù �NÓ #Ù �JÓ Ø �4ˆLð" ðE@ðP Ø �[Ð"2Ð 3Ù Ð*Ó +ð ðQ@ðZ Ø �[Ð"2Ð 3Ù Ð+Ó ,ð ð[@ðf Ø  '×"2Ñ"2Ð 3ð ðg@ðp˜dŸm™mÐ ,Ø  Ð -ð 𠘟™Ð 'Ø ˜Ÿ™Ð 'ð ð ˜&Ÿ,™,Ð 'Ø �V—^‘^Ð $ð ñ �IÓ Ù �HÓ Ù �HÓ Ù �JÓ ð  ð˜ Ð #ð ð 1Ù �k :¨t¯x©x¸Ø!ó#Ø$4ð 6ð�7ˆOð  ð�tÐ Ø ,Ù �k :¨t¯x©x¸Ø!ó#Ø$*ð ,ð�DˆMð  òs@�Frrr`có²—eZdZdZdZdgZdgZejejzZ dZ dZ de zdzZ e e zZd efd ej"d fd efd eej"eeeej"eej"eeeej"« fdeej"eeeej"eej"eeeej"« fdezeej"eeeej,«dfdeej"ee«dfdefgdezeeeej,«fdezeeeeeej,«fdej0fdefdej2feej4fdezej4fdefdej:fdej<fdefdefg defdeeej"«d fed!«gdefd"eeej"«d fed!«d#e fgd$œZ!y%)&raz¯ Twig template lexer. It just highlights Twig code between the preprocessor directives, other data is left untouched by the lexer. .. versionadded:: 2.0 ÚTwigÚtwigzapplication/x-twigz[\\\w-]|[^\x00-\x7f]z(?:[\\_a-z]|[^\x00-\x7f])z(?:z)*ržràráz \{\#.*?\#\}râzL(\{%)(-?\s*)(verbatim)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endverbatim)(\s*-?)(%\})z(\{%%)(-?\s*)(filter)(\s+)(%s)r†rär z (\|)(\s*)(%s)z(is)(\s+)(not)?(\s*)(%s)z(?i)(true|false|none|null)\bz–(in|not|and|b-and|or|b-or|b-xor|isif|elseif|else|importconstant|defined|divisibleby|empty|even|iterable|odd|sameasmatches|starts\s+with|ends\s+with)\bz(loop|block|parent)\bz\.z\.[0-9]+råræz4([{}()\[\]+\-*/,:~%]|\.\.|\?|:|\*\*|\/\/|!=|[><=]=?)r¦r¡rçr¤rèrérê)rªrèrár†N)"r�r�r‘r’r“r•r–r—r™rír¶Ú _ident_charÚ _ident_beginÚ _ident_endÚ _ident_innerr"rr~rrrrr·rrîrïr¸r!r rºr»rrr‚rkrrrqrara,s`„ñð €D؈h€GØ%Ð&€Ià �D‰D�2—4‘4‰K€Eð*€KØ/€Lؘ+Ñ%¨Ñ,€JØ *Ñ,€Lð�uÐ Ø �g—o‘o uÐ -à ˜WÐ %ð1á �g—o‘o t¨W°d¸G¿O¹OؘWŸ_™_¨d°G¸TØ—o‘oó'ð (ð 6á �g—o‘o t¨W°d¸G¿O¹OؘWŸ_™_¨d°G¸TØ—o‘oó'ð (ð /°Ñ =Ù �g—o‘o t¨W°d¸D¿M¹MÓ JØ ð ð+Ù �g—o‘o t¨WÓ 5°uð >à �EˆNð- ð2  Ñ ,Ù �h  d§m¡mÓ 4ð 6à (¨<Ñ 7Ù �g˜t W¨d°D·M±MÓ Bð Dà ,¨g¯n©nÐ =ð5ðð  ð & t§|¡|Ð 4Ø ˜4Ÿ=™=Ð )Ø �\Ñ ! 4§=¡=Ð 1Ø ˜&Ð !Ø *¨F¯M©MÐ :Ø *¨F¯M©MÐ :Ø DÀhÐ Oð'Ø(.ð 0ð% ð,�TˆNØ ™H T¨7¯?©?Ó;¸VÐ DÙ �JÓ ð ð �TˆNØ ™8 D¨'¯/©/Ó:¸FÐ CÙ �JÓ Ø �;Ð ð  ñg9�Frrracó8‡—eZdZdZdZdgZdgZdgZˆfd„ZˆxZ S)rbzw Subclass of the `TwigLexer` that highlights unlexed data with the `HtmlLexer`. .. versionadded:: 2.0 z HTML+Twigz html+twigz*.twigztext/html+twigc ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrarÑs €rqrnzTwigHtmlLexer.__init__ŒrrrrÎrÖs@rqrbrbs/ø„ñð €D؈m€GØ� €IØ!Ð"€I÷:ð:rrrbcóô—eZdZdZdZdZdgZdefdee je «dfdee e je e ee «d fd ee e je e «fd ee e je ee «d fd ee e je «fgd e fde jdfdej"fdej$fdej&fdefde j*fde j*fdeee ee ee ee «fg dedfdedfdedfgdœZy)rca Generic angular2 template lexer. Highlights only the Angular template tags (stuff between `{{` and `}}` and special attributes: '(event)=', '[property]=', '[(twoWayBinding)]='). Everything else is left for a delegating lexer. .. versionadded:: 2.1 ÚAngular2z(https://angular.io/guide/template-syntaxÚng2z [^{([*#]+róÚ ngExpressionz&([([]+)([\w:.-]+)([\])]+)(\s*)(=)(\s*)rz([([]+)([\w:.-]+)([\])]+)(\s*)z([*#])([\w:.-]+)(\s*)(=)(\s*)z([*#])([\w:.-]+)(\s*)z \s+(\|\s+)?rr¤z:?(true|false)rårær¦z[a-zA-Z][\w-]*(\(.*\))?z\.[\w-]+(\(.*\))?z-(\?)(\s*)([^}\s]+)(\s*)(:)(\s*)([^}\s]+)(\s*)rrr)rªrrN)r�r�r‘r’r“r”r•r"rrr~rrrr¼rr ÚBooleanrºr»r!r¸r‚rkrrrqrcrc�sr„ñð €DØ 4€C؈g€Gð˜5Ð !ð™X g§o¡o°tÓ<¸nÐ Mð7Ù �k 4§>¡>°;ÀÀhÐPTÓ UØ ð ð/Ù �k 4§>¡>°;ÀÓ Eð Gð.Ù �k 4§>¡>°4¸À4Ó HÈ&ð Rà %Ù �k 4§>¡>°4Ó 8ð :ð! ð*˜TÐ "Ø �g—o‘o vÐ .ð §¡Ð /Ø *¨F¯M©MÐ :Ø *¨F¯M©MÐ :ð'Ø(.ð 0ð(¨¯©Ð 7Ø ! 4§=¡=Ð 1ð>Ù �h  f¨d°H¸dÀFÈDÓ Qð Sð! ð(�f˜fÐ %Ø �f˜fÐ %Ø ˜ Ð (ð ñQ-�Frrrccó2‡—eZdZdZdZdgZdgZˆfd„ZˆxZS)rdz{ Subclass of the `Angular2Lexer` that highlights unlexed data with the `HtmlLexer`. .. versionadded:: 2.0 zHTML + Angular2zhtml+ng2z*.ng2c ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrrcrÑs €rqrnzAngular2HtmlLexer.__init__ÛrÓrr) r�r�r‘r’r“r•r³rnrÕrÖs@rqrdrdÏs'ø„ñð €D؈l€GØ� €I÷>ð>rrrdcó:‡—eZdZdZdZdgZgd¢Zˆfd„Zd„ZˆxZ S)rez: Templated SQL lexer. .. versionadded:: 2.13 z SQL+Jinjaz sql+jinja)z*.sqlz*.sql.j2z *.sql.jinja2c ó8•—t‰|�ttfi|¤ŽyrÏ)rÐrnrr4rÑs €rqrnzSqlJinjaLexer.__init__êrrrcó¬—d}tjd|«r|dz }tjd|«r|dz }tjd|«r|dz }|S)Nr¬z\{\{\s*ref\(.*\)\s*\}\}rŒz\{\{\s*source\(.*\)\s*\}\}rÉz\{%-?\s*macro \w+\(.*\)\s*-?%\}r­r¯r±s rqrŽzSqlJinjaLexer.analyse_textísT€Ø ˆä �9‰9Ð/°Ô 6Ø �#‰IˆBä �9‰9Ð2°DÔ 9Ø �$‰JˆBä �9‰9Ð7¸Ô >Ø �$‰JˆB؈ rr) r�r�r‘r’r“r•r³rnrŽrÕrÖs@rqrereßs%ø„ñð €D؈m€GÚ5€Iô;ö rrre)wr’r—Úpygments.lexers.htmlrrÚpygments.lexers.javascriptrrÚpygments.lexers.cssrÚpygments.lexers.phprÚpygments.lexers.pythonr Úpygments.lexers.perlr Úpygments.lexers.jvmr r Úpygments.lexers.datar Úpygments.lexers.sqlrÚpygments.lexerrrrrrrrrrÚpygments.tokenrrrrrrrrr r!r"r#Ú pygments.utilr$r%Ú__all__r*r/rTrUrVr4r>r?r@rBrArCrDrErFrGrHr$rJrKrLrMr;r<r:r9r=r<r+r,r-r.r&r'r(r)r0r1r2r3r5r7r6r8r¡rIrNrOrPrQrÅrRrSrWr×rXrYrZr[r\r]r^r_r`rarbrcrdrerkrrrqÚr.sÂðñó ç4ßBÝ(Ý(Ý.Ý*ß7Ý*Ý(÷,÷,õ,÷I÷I÷IóIç>ò €ô.\ˆuô\ô~6�*ô6ôrP�JôPôf >˜ô >ô �ôô,P�*ôPôf,�*ô,ô^ <�oô <ô ;�_ô ;ô B˜OôBô$ ;�_ô ;ô 4�ô4ôn@� ô@ôF :�Oô :ô 9�?ô 9ô @˜/ô@ô$ 9�?ô 9ô$ $˜ô $ô)�:ô)ôX =�ô =ô <�oô <ôC˜_ôCô( �jô ôF=˜ ô=ô@8�oô8ô.7�/ô7ô05˜Oô5ô(5�_ô5ô"�ôô2�/ôô*2�/ô2ô"2˜ô2ô(�?ôô4�/ôô(2�/ô2ô"+˜ô+ô(�oôô.�_ôô*5�_ô5ô$5˜Oô5ô(�oôô0�_ôô,5�_ô5ô&5˜Oô5ô2�:ôô2ˆôô.7�*ô7ôr.�oô.ô&.�_ô.ô&-�jô-ô`+˜Jô+ô\ F˜/ô Fô J˜ô Jôˆôô2˜:ôô,�ôô.�_ôô8�Oôô0�Oôô4˜?ôô0J�jôJôZ@˜/ô@ô"<�_ô<ô&K�*ôKô\P� ôPôf:�Oô:ô"<�Jô<ô~ >˜ô >ô �Oõrr