Files
ServerSync/lib/pygments/lexers/__pycache__/templates.cpython-314.pyc

781 lines
86 KiB
Plaintext
Raw Normal View History

2026-02-12 02:28:23 +02:00
+
<00> <0C>i<EFBFBD>'<00><00><><00>Rt^RIt^RIHtHt^RIHtHt^RIH t ^RI
H t ^RI H t ^RIHt^RIHtHt^R IHt^R
IHt^R IHtHtHtHtHtHtHtHtH t ^R I!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-^R I.H/t/H0t0.RNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*NR+NR,NR-NR.NR/NR0NR1NR2NR3NR4NR5NR6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR@NRANRBNRCNRDNRENRFNRGNRHNRINRJNRKNRLNRMNt1!RNR]4t2!ROR]4t3!RPR<]4t4!RQR=]4t5!RRR>]4t6!RSR]4t7!RTR&]4t8!RUR']4t9!RVR(]4t:!RWR*]4t;!RXR)]4t<!RYR+]4t=!RZR,]4t>!R[R-]4t?!R\R.]4t@!R]R/]4tA!R^R0]4tB!R_R`]4tC!RaR2]4tD!RbR3]4tE!RcR4]4tF!RdR5]4tG!ReR#]4tH!RfRg]4tI!RhR"]4tJ!RiR!]4tK!RjR%]4tL!RkR$]4tM!RlR]4tN!RmR]4tO!RnR]4tP!RoR]4tQ!RpR]4tR!RqR]4tS!RrR]4tT!RsR]4tU!RtR]4tV!RuR]4tW!RvR]4tX!RwR]4tY!RxR]4tZ!RyR]4t[!RzR]4t\!R{R ]4t]!R|R}]4t^!R~R1]4t_!RR6]4t`!R<>R7]4ta!R<>R8]4tb!R<>R9]4tc!R<>R<>]4td!R<>R:]4te!R<>R;]4tf!R<>R?]4tg!R<>R<>]4th!R<>R@]4ti!R<>RA]4tj!R<>RB]4tk!R<>RC]4tl!R<>RD]4tm!R<>RE]4tn!R<>RF]4to!R<>RG]4tp!R<>RH]4tq!R<>RI]4tr!R<>RJ]4ts!R<>RK]4tt!R<>RL]4tu!R<>RM]4tvR#)<29>z<EFBFBD>
pygments.lexers.templates
~~~~~~~~~~~~~~~~~~~~~~~~~
Lexers for various template engines' markup.
:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)<02> HtmlLexer<65>XmlLexer)<02>JavascriptLexer<65>
LassoLexer)<01>CssLexer)<01>PhpLexer)<01> PythonLexer)<01> PerlLexer)<02> JavaLexer<65> TeaLangLexer)<01> YamlLexer)<01>SqlLexer) <09>Lexer<65>DelegatingLexer<65>
RegexLexer<EFBFBD>bygroups<70>include<64>using<6E>this<69>default<6C>combined) <0C>Error<6F> Punctuation<6F>
Whitespace<EFBFBD>Text<78>Comment<6E>Operator<6F>Keyword<72>Name<6D>String<6E>Number<65>Other<65>Token)<02>html_doctype_matches<65>looks_like_xml<6D> HtmlPhpLexer<65> XmlPhpLexer<65> CssPhpLexer<65>JavascriptPhpLexer<65>ErbLexer<65>
RhtmlLexer<EFBFBD> XmlErbLexer<65> CssErbLexer<65>JavascriptErbLexer<65> SmartyLexer<65>HtmlSmartyLexer<65>XmlSmartyLexer<65>CssSmartyLexer<65>JavascriptSmartyLexer<65> DjangoLexer<65>HtmlDjangoLexer<65>CssDjangoLexer<65>XmlDjangoLexer<65>JavascriptDjangoLexer<65> GenshiLexer<65>HtmlGenshiLexer<65>GenshiTextLexer<65>CssGenshiLexer<65>JavascriptGenshiLexer<65> MyghtyLexer<65>MyghtyHtmlLexer<65>MyghtyXmlLexer<65>MyghtyCssLexer<65>MyghtyJavascriptLexer<65>
MasonLexer<EFBFBD> MakoLexer<65> MakoHtmlLexer<65> MakoXmlLexer<65>MakoJavascriptLexer<65> MakoCssLexer<65>JspLexer<65> CheetahLexer<65>CheetahHtmlLexer<65>CheetahXmlLexer<65>CheetahJavascriptLexer<65> EvoqueLexer<65>EvoqueHtmlLexer<65>EvoqueXmlLexer<65>ColdfusionLexer<65>ColdfusionHtmlLexer<65>ColdfusionCFCLexer<65> VelocityLexer<65>VelocityHtmlLexer<65>VelocityXmlLexer<65>SspLexer<65>TeaTemplateLexer<65>LassoHtmlLexer<65> LassoXmlLexer<65> LassoCssLexer<65>LassoJavascriptLexer<65>HandlebarsLexer<65>HandlebarsHtmlLexer<65>YamlJinjaLexer<65> LiquidLexer<65> TwigLexer<65> TwigHtmlLexer<65> Angular2Lexer<65>Angular2HtmlLexer<65> SqlJinjaLexerc<00><>a<00>]tRt^3toRtRtRtR.tR.tRt ]
P!R]
P4t RtR tR
tR tVtR #) 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`.
<EFBFBD>ERB<52>https://github.com/ruby/erb<72>erbzapplication/x-ruby-templating<6E>z*(<%%|%%>|<%=|<%#|<%-|<%|-%>|%>|^%[^%].*?$)c <08>Z<00>^RIHpV!R/VBVn\P!V3/VBR#)<04>)<01> RubyLexerN<72>)<05>pygments.lexers.rubyrl<00>
ruby_lexerr<00>__init__)<03>self<6C>optionsrls&, <20>@/tmp/pip-target-qd_sq_1j/lib/python/pygments/lexers/templates.pyrp<00>ErbLexer.__init__Es%<00><00>2<>#<23>.<2E>g<EFBFBD>.<2E><04><0F> <0A><0E><0E>t<EFBFBD>'<27>w<EFBFBD>'<27>c# <0C> "<00>VPPV4pVP4^;r4V^8Xd2VP4pV\V3x<00>V\ V4, p^pK9V^8XEd<>VP4pVR9dV\V3x<00>V^, p^pKpVR8XdUV\ PV3x<00>VP4pV^,\ V3x<00>V^\ V4,, p^pK<>VR9d<>V\ PV3x<00>V\ V4, pVP4p^pVPPV4Fwr<>p
W<EFBFBD>,W<>3x<00>K V\ V4, p^pEKSVR9d#V\V3x<00>V\ V4, p^pEK|V\ PV^,3x<00>^pVPPVR,4Fwr<>p
V^,V,W<>3x<00>K V\ V4, p^pEK<>V^8XgEK<>VP4pVR9d V\V3x<00>MV\ PV3x<00>V\ V4, p^pEKJ \dR#i;i5i)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.
z<%#:<3A>NNN)z<%%z%%>)<03><%z<%=z<%-)<02>%>z-%>) <0C> _block_re<72>split<69>reverse<73>popr!<00>lenr<00>Preprocro<00>get_tokens_unprocessedr<00>
IndexError) rq<00>text<78>tokens<6E>state<74>idx<64>val<61>tag<61>data<74>r_idx<64>r_token<65>r_values && rsr<><00>ErbLexer.get_tokens_unprocessedJsA<00><00><00> <16><1E><1E>%<25>%<25>d<EFBFBD>+<2B><06><0E><0E><0E><18><17><0F><05>9 <13><16><18>A<EFBFBD>:<3A> <20>*<2A>*<2A>,<2C>C<EFBFBD><1D>u<EFBFBD>c<EFBFBD>/<2F>)<29><17>3<EFBFBD>s<EFBFBD>8<EFBFBD>O<EFBFBD>C<EFBFBD><1D>E<EFBFBD><1A>a<EFBFBD>Z<EFBFBD> <20>*<2A>*<2A>,<2C>C<EFBFBD><1A>n<EFBFBD>,<2C>!<21>5<EFBFBD>#<23>o<EFBFBD>-<2D><1B>q<EFBFBD><08><03> !<21><05><1C><05><1C>!<21>7<EFBFBD>?<3F>?<3F>C<EFBFBD>7<>7<>$<24>j<EFBFBD>j<EFBFBD>l<EFBFBD><03>!<21>A<EFBFBD>g<EFBFBD>w<EFBFBD><03>3<>3<><1B>q<EFBFBD>3<EFBFBD>s<EFBFBD>8<EFBFBD>|<7C>+<2B><03> !<21><05><1C> 4<>4<>!<21>7<EFBFBD>?<3F>?<3F>C<EFBFBD>7<>7<><1B>s<EFBFBD>3<EFBFBD>x<EFBFBD><0F><03>%<25>z<EFBFBD>z<EFBFBD>|<7C><04> !<21><05> $<24><0F><0F> F<> F<>t<EFBFBD> L<>4<>E<EFBFBD>G<EFBFBD>"'<27>+<2B>w<EFBFBD>"?<3F>?<3F>!M<01><1B>s<EFBFBD>4<EFBFBD>y<EFBFBD>(<28><03> !<21><05><1C> <0A>-<2D>!<21>5<EFBFBD>#<23>o<EFBFBD>-<2D><1B>s<EFBFBD>3<EFBFBD>x<EFBFBD><0F><03> !<21><05>"<22>7<EFBFBD>?<3F>?<3F>C<EFBFBD><01>F<EFBFBD>:<3A>:<3A> !<21><05> $<24><0F><0F> F<> F<>s<EFBFBD>2<EFBFBD>w<EFBFBD> O<>4<>E<EFBFBD>G<EFBFBD>"%<25><01>'<27>E<EFBFBD>/<2F>7<EFBFBD>"C<>C<>!P<01><1B>s<EFBFBD>3<EFBFBD>x<EFBFBD><0F><03> !<21><05><1A>a<EFBFBD>Z<EFBFBD> <20>*<2A>*<2A>,<2C>C<EFBFBD><1A>-<2D>/<2F>!<21>5<EFBFBD>#<23>o<EFBFBD>-<2D>!<21>7<EFBFBD>?<3F>?<3F>C<EFBFBD>7<>7<><17>3<EFBFBD>s<EFBFBD>8<EFBFBD>O<EFBFBD>C<EFBFBD><1D>E<EFBFBD><45><19> <13> <12> <13>s*<00>/J<01>G5I<<00>-AI<<00>< J <03>J<01>
J <03> Jc<08>*<00>RV9d RV9dR#R#R#)rxry<><E79A99><EFBFBD><EFBFBD><EFBFBD>?Nrm<00>r<>s&rs<00> analyse_text<78>ErbLexer.analyse_text<78>s<00><00> <0F>4<EFBFBD><<3C>D<EFBFBD>D<EFBFBD>L<EFBFBD><16>)<29><ru)roN)<13>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__<5F>name<6D>url<72>aliases<65> mimetypes<65> version_added<65>re<72>compile<6C>Mrzrpr<>r<><00>__static_attributes__<5F>__classdictcell__<5F><01> __classdict__s@rsr)r)3sU<00><><00><00><08> <11>D<EFBFBD>
'<27>C<EFBFBD><14>g<EFBFBD>G<EFBFBD>0<>1<>I<EFBFBD><16>M<EFBFBD><12>
<EFBFBD>
<EFBFBD>H<>"<22>$<24>$<24>O<>I<EFBFBD>(<28>
B<13>H<17>ruc<00>ba<00>]tRt^<5E>toRtRtRtR.tR.tR.t Rt
] P] P,tRR ]3R
]!]P$]]P$43R ]!]P$]!]R R 7]P$43R]!]P$]P,]4R3R]P$R3.RR]3R]P$R3R]P$R3R]P03R]P03R]3R]P63R]3R]P<3R]P>3R]P@3. /t!Rt"Rt#Vt$R#)r.z<>
Generic Smarty template lexer.
Just highlights smarty code between the preprocessor directives, other
data is left untouched by the lexer.
<EFBFBD>Smarty<74>https://www.smarty.net/<2F>smarty<74>*.tplzapplication/x-smartyri<00>root<6F>[^{]+z(\{)(\*.*?\*)(\})z(\{php\})(.*?)(\{/php\})T)<01> startinlinez(\{)(/?[a-zA-Z_]\w*)(\s*)<29>\{<7B>\s+<2B>#push<73>\}<7D>#popz#[a-zA-Z_]\w*#z\$[a-zA-Z_]\w*(\.\w+)*z[~!%^&*()+=|\[\]:;,.<>/?@-]<5D>(true|false|null)\b<>>[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?<3F>"(\\\\|\\[^\\]|[^"\\])*"<22>'(\\\\|\\[^\\]|[^'\\])*'<27> [a-zA-Z_]\w*c<08>:<00>Rp\P!RV4'd
VR, p\P!RV4'd
VR, p\P!RV4'd
VR, p\P!RV4'd
VR, pV#)<07>z\{if\s+.*?\}.*?\{/if\}<7D>333333<33>?z\{include\s+file=.*?\}z \{foreach\s+.*?\}.*?\{/foreach\}z \{\$.*?\}<7D>{<14>G<EFBFBD>z<EFBFBD>?<3F>r<><00>search<63>r<><00>rvs& rsr<><00>SmartyLexer.analyse_text<78>sw<00><00> <10><02> <0A>9<EFBFBD>9<EFBFBD>.<2E><04> 5<> 5<> <0E>$<24>J<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>.<2E><04> 5<> 5<> <0E>$<24>J<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>8<>$<24> ?<3F> ?<3F> <0E>$<24>J<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>\<5C>4<EFBFBD> (<28> (<28> <0E>$<24>J<EFBFBD>B<EFBFBD><11> rurmN)%r<>r<>r<>r<>r<>r<>r<>r<><00> filenamesr<73>r<>r<><00> MULTILINE<4E>DOTALL<4C>flagsr!rrrrrr<00>Functionr<00>Variablerr<00>Constantr r<00>Double<6C>Single<6C> Attributer<65>r<>r<>r<>r<>s@rsr.r.<00>sd<00><><00><00><08> <14>D<EFBFBD>
#<23>C<EFBFBD><17>j<EFBFBD>G<EFBFBD><18> <09>I<EFBFBD>'<27>(<28>I<EFBFBD><16>M<EFBFBD> <0E>L<EFBFBD>L<EFBFBD>2<EFBFBD>9<EFBFBD>9<EFBFBD> $<24>E<EFBFBD> <0F> <15>u<EFBFBD> <1D> !<21> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>w<EFBFBD><07><0F><0F> @<40> B<01> (<28> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>X<EFBFBD>4<EFBFBD>'H<><1D>o<EFBFBD>o<EFBFBD>'<27> (<28>*<2A> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>}<7D>}<7D>d<EFBFBD> ;<3B>X<EFBFBD> G<01> <12>G<EFBFBD>O<EFBFBD>O<EFBFBD>X<EFBFBD> .<2E>

<EFBFBD> <11> <13>T<EFBFBD>N<EFBFBD> <12>G<EFBFBD>O<EFBFBD>O<EFBFBD>W<EFBFBD> -<2D> <12>G<EFBFBD>O<EFBFBD>O<EFBFBD>V<EFBFBD> ,<2C> <1E><04> <0A> <0A> .<2E> &<26><04> <0A> <0A> 6<> +<2B>X<EFBFBD> 6<> #<23>W<EFBFBD>%5<>%5<> 6<>'<27>(.<2E> 0<> (<28>&<26>-<2D>-<2D> 8<> (<28>&<26>-<2D>-<2D> 8<> <1C>d<EFBFBD>n<EFBFBD>n<EFBFBD> -<2D> 
<EFBFBD><06>F<EFBFBD>8
<12>
ruc<00>xa<00>]tRt^<5E>toRtRtRtR.tRR.tRt ]
P]
P,t RtR R
]3R ]!]P$]]P$43R ]!]P$]43R ],R,]!]P$]P(]P$]4R3R ],R,]!]P$]P(]P$43R]R3.R]]P,3R]R3R],R,]!]]P,4R3R]R3]!R4.RR]3R]R3R],R,]P(3]!R4.RR]3]!R4R]R3.RR]R3R ]3R!]3R"]P83R#]P:3R$]3R%]3R&]P@3R]R3R']R3R(]R3R]R3R]R3R]R3./t!R)t"R*t#Vt$R+#),rSz<>
Generic Velocity template lexer.
Just highlights velocity directives and variable references, other
data is left untouched by the lexer.
<EFBFBD>Velocity<74>https://velocity.apache.org/<2F>velocity<74>*.vm<76>*.fhtmlrir<>r<>z[^{#$]+z(#)(\*.*?\*)(#)z
(##)(.*?$)z(#\{?)(z )(\}?)(\s?\()<29>directiveparamsz)(\}|\b)z\$!?\{?<3F>variablez\(<28>
funcparamsz(\.)(<28>)r<>r<>r<>z=(&&|\|\||==?|!=?|[-<>+*%&|^/])|\b(eq|ne|gt|lt|ge|le|not|in)\bz\[<5B> rangeoperatorz\bz\.\.z\]r<>z[,:]r<>r<>z0[xX][0-9a-fA-F]+[Ll]?z
\b[0-9]+\br<62><00>\)r<>c<08><><00>Rp\P!RV\P4'd
VR, p\P!RV\P4'd
VR, p\P!RV\P4'd
VR, p\P!RV4'd
VR, pV#)r<>z #\{?macro\}?\(.*?\).*?#\{?end\}?<3F><00>?z#\{?if\}?\(.+?\).*?#\{?end\}?r<>z"#\{?foreach\}?\(.+?\).*?#\{?end\}?z6\$!?\{?[a-zA-Z_]\w*(\([^)]*\))?(\.\w+(\([^)]*\))?)*\}?r<><00>r<>r<>r<>r<>s& rsr<><00>VelocityLexer.analyse_texts<><00><00> <10><02> <0A>9<EFBFBD>9<EFBFBD>8<>$<24><02> <09> <09> J<> J<> <0E>$<24>J<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>5<>t<EFBFBD>R<EFBFBD>Y<EFBFBD>Y<EFBFBD> G<> G<> <0E>$<24>J<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>:<3A>D<EFBFBD>"<22>)<29>)<29> L<> L<> <0E>$<24>J<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>0<>15<31> 7<> 7<> <0E>$<24>J<EFBFBD>B<EFBFBD><11> rurmN)%r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>
identifierr!rrrrr<>rr<>rrrrrr<>r<>r rr<>r<>r<>r<>r<>r<>s@rsrSrS<00>sK<00><><00><00><08> <16>D<EFBFBD>
(<28>C<EFBFBD><19>l<EFBFBD>G<EFBFBD><17><19>#<23>I<EFBFBD><16>M<EFBFBD> <0E>L<EFBFBD>L<EFBFBD>2<EFBFBD>9<EFBFBD>9<EFBFBD> $<24>E<EFBFBD> <20>J<EFBFBD> <0F> <17><15> <1F> <1F> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>w<EFBFBD><07><0F><0F> @<40> B<01> <1A> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>w<EFBFBD> /<2F> 1<> <17>*<2A> $<24>'7<> 7<> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>}<7D>}<7D>g<EFBFBD>o<EFBFBD>o<EFBFBD>{<7B> S<> <1E> <20><18>*<2A> $<24>{<7B> 2<> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>}<7D>}<7D>g<EFBFBD>o<EFBFBD>o<EFBFBD> F<> H<01> <17><1B>j<EFBFBD> 1<> 
<EFBFBD> <13> <17><14><1D><1D> '<27> <12>K<EFBFBD><1C> .<2E> <15>
<EFBFBD> "<22>T<EFBFBD> )<29> <15>k<EFBFBD>4<EFBFBD>=<3D>=<3D> 1<>7<EFBFBD> <<3C> <12>K<EFBFBD><16> (<28> <13>F<EFBFBD>O<EFBFBD> 
<EFBFBD> <1A> M<> <15> <17> <12>H<EFBFBD>o<EFBFBD> .<2E> <12>Z<EFBFBD> <1F>%<25> '<27><14><1D><1D> 7<> <13>L<EFBFBD> !<21> 
<EFBFBD> <18> <14>h<EFBFBD> <1F> <13>L<EFBFBD> !<21> <12>H<EFBFBD>f<EFBFBD> %<25>
<EFBFBD>
<15> <17><1B>j<EFBFBD> 1<> <13>T<EFBFBD>N<EFBFBD> <14>k<EFBFBD> "<22> (<28>&<26>-<2D>-<2D> 8<> (<28>&<26>-<2D>-<2D> 8<> &<26><06> /<2F> <1A>F<EFBFBD> #<23> #<23>W<EFBFBD>%5<>%5<> 6<> <12>K<EFBFBD><17> )<29> <12>K<EFBFBD><16> (<28> <12>K<EFBFBD><17> )<29> <12>K<EFBFBD><16> (<28> <12>K<EFBFBD><17> )<29> <12>K<EFBFBD><16> (<28>
<EFBFBD>E2<06>F<EFBFBD>h <12> ruc<00>Vaa<01>]tRtRtoRtRtR.tRtRR.tR.t R t
V3R
lt R t Vt V;t#) rTi!zU
Subclass of the `VelocityLexer` that highlights unlexed data
with the `HtmlLexer`.
z HTML+Velocityz html+velocityri<00>*.htmlr<6C>ztext/html+velocityr<79>c <08><<<01>\SV`!\\3/VBR#<00>N)<04>superrprrS<00>rqrr<00> __class__s&,<2C>rsrp<00>VelocityHtmlLexer.__init__/<00><00><><00> <0A><07><18><19>M<EFBFBD>=<3D>W<EFBFBD>=rurm)r<>r<>r<>r<>r<>r<>r<>r<><00>alias_filenamesr<73>r<>rpr<>r<><00> __classcell__<5F>r<>r<>s@@rsrTrT!s?<00><><00><00><08> <1B>D<EFBFBD><1E><1F>G<EFBFBD><16>M<EFBFBD><1F><19>+<2B>O<EFBFBD>%<25>&<26>I<EFBFBD>
(<28>C<EFBFBD>><3E>>ruc<00>\aa<01>]tRtRtoRtRtR.tRtRR.tR.t R t
V3R
lt R t R t VtV;t#) rUi3zT
Subclass of the `VelocityLexer` that highlights unlexed data
with the `XmlLexer`.
z XML+Velocityz xml+velocityri<00>*.xmlr<6C>zapplication/xml+velocityr<79>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrSr<>s&,<2C>rsrp<00>VelocityXmlLexer.__init__As<00><><00> <0A><07><18><18>=<3D><<3C>G<EFBFBD><ruc<08>r<00>\PV4R,
p\V4'd
VR, pV#<00>r<>r<>)rSr<>r$r<>s& rsr<><00>VelocityXmlLexer.analyse_textDs0<00><00> <1A> '<27> '<27><04> -<2D><04> 4<><02> <19>$<24> <1F> <1F> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurm<00>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rpr<>r<>r<>r<>r<>s@@rsrUrU3sD<00><><00><00><08> <1A>D<EFBFBD><1D><1E>G<EFBFBD><16>M<EFBFBD><1E><06>'<27>O<EFBFBD>+<2B>,<2C>I<EFBFBD>
(<28>C<EFBFBD>=<3D><12>ruc<00><>a<00>]tRtRtoRtRtRR.tRR.tRtR t ]
P]
P,t R
R ]3R ]P R 3R]3R]!]P ]]]]P ]]P ]]]]P 4 3R]!]P ]]]]P ]]P ]]]]P 4 3R]!]P ]]]]P*4R3R]!]P ]]4R3R]3.RR]!]]]P*43R]!]]]]]P*43R]P.3R]3R]P03R]P23R]P23R]P63R]P83R]3R ]3. R R!]3R"]!]]P 4R#3]!R4.RR!]3R$]!]]P 4R#3]!R4R%]3./t R&t!R't"Vt#R(#))r3iKa
Generic `Django <https://www.djangoproject.com/documentation/templates/>`_
and `Jinja <https://jinja.palletsprojects.com>`_ template lexer.
It just highlights django/jinja code between the preprocessor directives,
other data is left untouched by the lexer.
z Django/Jinja<6A>django<67>jinjazapplication/x-django-templatingzapplication/x-jinja<6A>5https://www.djangoproject.com/documentation/templatesrir<>r<><00>\{\{<7B>varz \{#.*?#\}zJ(\{%)(-?\s*)(comment)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endcomment)(\s*-?)(%\})<29>B(\{%)(-?\s*)(raw)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endraw)(\s*-?)(%\})z'(\{%)(-?\s*)(filter)(\s+)([a-zA-Z_]\w*)<29>block<63>(\{%)(-?\s*)([a-zA-Z_]\w*)r<><00>varnamesz(\|)(\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+<2B>:?"(\\\\|\\[^\\]|[^"\\])*"<22>:?'(\\\\|\\[^\\]|[^'\\])*'z ([{}()\[\]+\-*/%,:~]|[><=]=?|!=)r<>r<><00>
(-?)(\}\})r<><00> (-?)(%\})<29>.c<08><><00>Rp\P!RV4e
VR, p\P!RV4e
VR, p\P!RV4e
VR, pV#)r<>z\{%\s*(block|extends)r<>z\{%\s*if\s*.*?%\}皙<><E79A99><EFBFBD><EFBFBD><EFBFBD>?z \{\{.*?\}\}r<>r<>s& rsr<><00>DjangoLexer.analyse_text<78>s\<00><00> <10><02> <0A>9<EFBFBD>9<EFBFBD>-<2D>t<EFBFBD> 4<> @<40> <0E>#<23>I<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>)<29>4<EFBFBD> 0<> <<3C> <0E>#<23>I<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>^<5E>T<EFBFBD> *<2A> 6<> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurmN)$r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>Sr<53>r!rrrrrrr<>r<00>Pseudo<64>Builtinr<6E>rr<>r<>r rrr<>r<>r<>r<>r<>s@rsr3r3KsI<00><><00><00><08> <1A>D<EFBFBD><17><17>!<21>G<EFBFBD>2<>4I<34>J<>I<EFBFBD>
A<EFBFBD>C<EFBFBD><16>M<EFBFBD> <0E>D<EFBFBD>D<EFBFBD>2<EFBFBD>4<EFBFBD>4<EFBFBD>K<EFBFBD>E<EFBFBD> <0F> <15>u<EFBFBD> <1D> <14>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD> -<2D> <19>7<EFBFBD> #<23>5<> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>W<EFBFBD>d<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD><1D>w<EFBFBD><EFBFBD><EFBFBD><04>g<EFBFBD>t<EFBFBD><1D>o<EFBFBD>o<EFBFBD>'<27> (<28> 1<> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>W<EFBFBD>d<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD><1A>G<EFBFBD>O<EFBFBD>O<EFBFBD>T<EFBFBD>7<EFBFBD>D<EFBFBD><1D>o<EFBFBD>o<EFBFBD>'<27> (<28> 8<> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>W<EFBFBD>d<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD> J<> <14> <16>+<2B> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>W<EFBFBD> 5<>w<EFBFBD> @<01> <12>E<EFBFBD>N<EFBFBD>/
<EFBFBD>2 <13> '<27> <15>h<EFBFBD><04>d<EFBFBD>m<EFBFBD>m<EFBFBD> 4<> 6<> 3<> <15>g<EFBFBD>t<EFBFBD>W<EFBFBD>d<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD> B<> D<01> 5<>w<EFBFBD>~<7E>~<7E> F<>G<01> <14> <16>-<2D>d<EFBFBD>l<EFBFBD>l<EFBFBD> ;<3B> <1F><14><1D><1D> /<2F> <15>t<EFBFBD>}<7D>}<7D> %<25> *<2A>F<EFBFBD>M<EFBFBD>M<EFBFBD> :<3A> *<2A>F<EFBFBD>M<EFBFBD>M<EFBFBD> :<3A> 0<>(<28> ;<3B>'<27>(.<2E> 0<>
<EFBFBD>$ <0E> <13>T<EFBFBD>N<EFBFBD> <1A>H<EFBFBD>T<EFBFBD>7<EFBFBD>?<3F>?<3F>;<3B>V<EFBFBD> D<> <13>J<EFBFBD> <1F>
<EFBFBD>
<10> <13>T<EFBFBD>N<EFBFBD> <19>8<EFBFBD>D<EFBFBD>'<27>/<2F>/<2F>:<3A>F<EFBFBD> C<> <13>J<EFBFBD> <1F> <11>;<3B> <1F> 
<EFBFBD>c7<06>F<EFBFBD>r<12>ruc<00><><00>]tRtRtRtRtRtR.tRR.tR.t R t
R
R ] 3R ] !] P] ] P] P]!]4] P43R ] !] P] P] P]!]4] P43R] !] P] P]!]4] P43R] !] P] P]!]4] P43R] P3R] !] P]!]4] P43R]3R] !] P]!]4]43R] !]]43.
/tRtR#)r=i<>z\
Generic myghty templates lexer. Code that isn't Myghty
markup is yielded as `Token.Other`.
<EFBFBD>Myghty<74>http://www.myghty.org/<2F>myghtyz*.myt<79> autodelegatezapplication/x-myghty<74>0.6r<EFBFBD>r<><00>3(?s)(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)z#(?s)(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)z(<&[^|])(.*?)(,.*?)?(&>)<29>(?s)(<&\|)(.*?)(,.*?)?(&>)<29></&><3E>(?s)(<%!?)(.*?)(%>)<29>(?<=^)#[^\n]*(\n|\Z)<29>(?<=^)(%)([^\n]*)(\n|\Z)<29><>(?sx)
(.+?) # anything, followed by:
(?:
(?<=\n)(?=[%#]) | # an eval or comment line
(?=</?[%&]) | # a substitution or block or
# call start or end
# - don't consume
(\\\n) | # an escaped newline
\Z # end of string
)rmN)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrr<00>Tagr<67>rrrrr!rr<>r<>rmrursr=r=<00>sf<00><00><08>
<14>D<EFBFBD>
"<22>C<EFBFBD><17>j<EFBFBD>G<EFBFBD><18>.<2E>)<29>I<EFBFBD>'<27>(<28>I<EFBFBD><19>M<EFBFBD> <0F> <13>T<EFBFBD>N<EFBFBD> C<> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><04>d<EFBFBD>m<EFBFBD>m<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD><1B>D<EFBFBD>k<EFBFBD>4<EFBFBD>8<EFBFBD>8<EFBFBD>-<2D> .<2E>4<> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><04> <0A> <0A>t<EFBFBD>x<EFBFBD>x<EFBFBD><1B>K<EFBFBD>(<28>$<24>(<28>(<28>4<> 5<>)<29> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><04> <0A> <0A>u<EFBFBD>[<5B>/A<>4<EFBFBD>8<EFBFBD>8<EFBFBD> L<> N<01> *<2A> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><04> <0A> <0A>u<EFBFBD>[<5B>/A<>4<EFBFBD>8<EFBFBD>8<EFBFBD> L<> N<01> <14>d<EFBFBD>h<EFBFBD>h<EFBFBD> <1F> #<23> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><05>k<EFBFBD> 2<>D<EFBFBD>H<EFBFBD>H<EFBFBD> =<3D> ?<3F> $<24>g<EFBFBD> .<2E> (<28> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><05>k<EFBFBD> 2<>E<EFBFBD> :<3A> <<3C> <16> <20><05>x<EFBFBD>0<> 2<>%
<EFBFBD><06>Fruc<00>Naa<01>]tRtRtoRtRtR.tR.tRtRt V3Rlt
R t Vt V;t #)
r>i<>zR
Subclass of the `MyghtyLexer` that highlights unlexed data
with the `HtmlLexer`.
z HTML+Myghtyz html+myghtyztext/html+myghtyrrc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr=r<>s&,<2C>rsrp<00>MyghtyHtmlLexer.__init__<5F><00><00><><00> <0A><07><18><19>K<EFBFBD>;<3B>7<EFBFBD>;rurm<00>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rpr<>r<>r<>r<>s@@rsr>r><00>s4<00><><00><00><08>
<19>D<EFBFBD><1C>o<EFBFBD>G<EFBFBD>#<23>$<24>I<EFBFBD>
"<22>C<EFBFBD><19>M<EFBFBD><<3C><ruc<00>Naa<01>]tRtRtoRtRtR.tR.tRtRt V3Rlt
R t Vt V;t #)
r?i<>zQ
Subclass of the `MyghtyLexer` that highlights unlexed data
with the `XmlLexer`.
z
XML+Myghtyz
xml+myghtyzapplication/xml+myghtyrrc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr=r<>s&,<2C>rsrp<00>MyghtyXmlLexer.__init__<5F><00><00><><00> <0A><07><18><18>;<3B>:<3A>'<27>:rurmrr<>s@@rsr?r?<00>s4<00><><00><00><08>
<18>D<EFBFBD><1B>n<EFBFBD>G<EFBFBD>)<29>*<2A>I<EFBFBD>
"<22>C<EFBFBD><19>M<EFBFBD>;<3B>;ruc<00>Raa<01>]tRtRtoRtRtRR.t.R
OtRtRt V3Rlt
R t Vt V;t #) rAi<>zX
Subclass of the `MyghtyLexer` that highlights unlexed data
with the `JavascriptLexer`.
zJavaScript+Myghtyzjavascript+myghtyz js+myghtyrrc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr=r<>s&,<2C>rsrp<00>MyghtyJavascriptLexer.__init__<5F><00><00><><00> <0A><07><18><1F>+<2B>A<><17>Arurm)zapplication/x-javascript+myghtyztext/x-javascript+myghtyztext/javascript+mygthyrr<>s@@rsrArA<00>s:<00><><00><00><08>
<1F>D<EFBFBD>"<22>K<EFBFBD>0<>G<EFBFBD>+<2B>I<EFBFBD> #<23>C<EFBFBD><19>M<EFBFBD>B<01>Bruc<00>Naa<01>]tRtRtoRtRtR.tR.tRtRt V3Rlt
R t Vt V;t #)
r@izQ
Subclass of the `MyghtyLexer` that highlights unlexed data
with the `CssLexer`.
z
CSS+Myghtyz
css+myghtyztext/css+myghtyrrc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr=r<>s&,<2C>rsrp<00>MyghtyCssLexer.__init__ rrurmrr<>s@@rsr@r@s4<00><><00><00><08>
<18>D<EFBFBD><1B>n<EFBFBD>G<EFBFBD>"<22>#<23>I<EFBFBD>
"<22>C<EFBFBD><19>M<EFBFBD>;<3B>;ruc<00><>a<00>]tRtRtoRtRtRtR.t.ROtR.t Rt
RR ] 3R
] !] P]P ] P43R ] !] P] ] P"] P]!]4] P43R ] !] PR R R ]!]4] P43R] !] P] P"]!]4] P43R] !] P] P"]!]4] P43R] P3R] !] P]!]4] P43R]3R] !] P]!]4]43R] !]!]4]43. /tRtRtVtR #)rBiz`
Generic mason templates lexer. Stolen from Myghty lexer. Code that isn't
Mason markup is HTML.
<EFBFBD>Masonzhttp://www.masonhq.com/<2F>masonzapplication/x-mason<6F>1.4r<EFBFBD>r<>z(?s)(<%doc>)(.*?)(</%doc>)rz%(?s)(<%(\w+)(.*?)(>))(.*?)(</%\2\s*>)Nz(?s)(<&[^|])(.*?)(,.*?)?(&>)r r
r r r rc<08><><00>Rp\P!RV4eRpV#\P!RV\P4eRpV#)r<>z</%(class|doc|init)>g<00>?z<&.+&>g)\<5C><><EFBFBD>(<28>?r<>)r<><00>results& rsr<><00>MasonLexer.analyse_text=sH<00><00><14><06> <0A>9<EFBFBD>9<EFBFBD>,<2C>d<EFBFBD> 3<> ?<3F><18>F<EFBFBD><16> <0A><10>Y<EFBFBD>Y<EFBFBD>y<EFBFBD>$<24><02> <09> <09> 2<> ><3E><19>F<EFBFBD><15> rurm)z*.mz*.mhtmlz*.mcz*.mi<6D> autohandler<65>dhandler)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrrrr<00> Multiliner<65>rrr r!rrr<>r<>r<>r<>r<>s@rsrBrBs<><00><><00><00><08> <13>D<EFBFBD>
#<23>C<EFBFBD><16>i<EFBFBD>G<EFBFBD>M<>I<EFBFBD>&<26>'<27>I<EFBFBD><19>M<EFBFBD> <0F> <13>Z<EFBFBD> <20> *<2A> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><07> 1<> 1<>4<EFBFBD>8<EFBFBD>8<EFBFBD> <<3C> ><3E> C<> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD>
<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD>4<EFBFBD>8<EFBFBD>8<EFBFBD><1B>D<EFBFBD>k<EFBFBD>4<EFBFBD>8<EFBFBD>8<EFBFBD>-<2D> .<2E>6<> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><04>d<EFBFBD>D<EFBFBD>%<25> <09>2B<32>D<EFBFBD>H<EFBFBD>H<EFBFBD> M<> O<01> ,<2C> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><04> <0A> <0A>u<EFBFBD>Y<EFBFBD>/?<3F><14><18><18> J<> L<01> *<2A> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><04> <0A> <0A>u<EFBFBD>Y<EFBFBD>/?<3F><14><18><18> J<> L<01> <14>d<EFBFBD>h<EFBFBD>h<EFBFBD> <1F> #<23> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><05>i<EFBFBD> 0<>$<24>(<28>(<28> ;<3B> =<3D> $<24>g<EFBFBD> .<2E> (<28> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><05>i<EFBFBD> 0<>%<25> 8<> :<3A> <16> <20><05>i<EFBFBD> 0<>(<28>;<3B> =<3D>'
<EFBFBD><06>F<EFBFBD>B<16>ruc<00>D<00>]tRtRtRtRtRtR.tR.tR.t Rt
R R
] !] P]P]]43R ] !] P]P]!]4]43R ] !] P]P(] P43R ]P*3R] !]P]P.4R3R] !]P]P.]P43R]PR3R] !]P]!]4]P43R] !]P]!]4]P43R] !]]43R] 3. RR]P3R]P.3]!R4.RR] !]P4] ]43R]PR3R] 3.RR]R3R]R3R]R3./tR tR!#)"rCiFzX
Generic mako templates lexer. Code that isn't Mako
markup is yielded as `Token.Other`.
<EFBFBD>Mako<6B>http://www.makotemplates.org/<2F>makoz*.maozapplication/x-mako<6B>0.7r<EFBFBD>z(\s*)(%)(\s*end(?:\w+))(\n|\Z)z(\s*)(%)([^\n]*)(\n|\Z)z(\s*)(##[^\n]*)(\n|\Z)z(?s)<%doc>.*?</%doc>z (<%)([\w.:]+)r<>z(</%)([\w.:]+)(>)z<%(?=([\w.:]+))<29> ondeftagsz(?s)(<%(?:!?))(.*?)(%>)z(\$\{)(.*?)(\})a\(?sx)
(.+?) # anything, followed by:
(?:
(?<=\n)(?=%|\#\#) | # an eval or comment line
(?=\#\*) | # multiline comment
(?=</?%) | # a python block
# call start or end
(?=\$\{) | # a substitution
(?<=\n)(?=\s*%) |
# - don't consume
(\\\n) | # an escaped newline
\Z # end of string
)
r<>rxz'(?<=<%)(include|inherit|namespace|page)z((?:\w+)\s*=)(\s*)(".*?")<29>/?\s*>r<><00>attr<74>".*?"<22>'.*?'<27>[^\s>]+rmN)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrrrrrr!rrr<>r)rrrrr<>rr<>r<>rmrursrCrCFs<><00><00><08>
<12>D<EFBFBD>
)<29>C<EFBFBD><15>h<EFBFBD>G<EFBFBD><18> <09>I<EFBFBD>%<25>&<26>I<EFBFBD><19>M<EFBFBD> <0F> .<2E> <15>d<EFBFBD>o<EFBFBD>o<EFBFBD>w<EFBFBD><EFBFBD><EFBFBD><07><15> G<> I<01> '<27> <15>d<EFBFBD>o<EFBFBD>o<EFBFBD>w<EFBFBD><EFBFBD><EFBFBD><05>k<EFBFBD>8J<38>E<EFBFBD> R<> T<01> &<26> <15>d<EFBFBD>o<EFBFBD>o<EFBFBD>w<EFBFBD>~<7E>~<7E>t<EFBFBD><EFBFBD><EFBFBD> G<> I<01> $<24>g<EFBFBD>&7<>&7<> 8<> <1D> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>|<7C>|<7C> 4<>e<EFBFBD> =<3D> !<21> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>|<7C>|<7C>W<EFBFBD>_<EFBFBD>_<EFBFBD> E<> G<01> <1F><17><1F><1F>+<2B> ><3E> '<27> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>[<5B>'9<>7<EFBFBD>?<3F>?<3F> K<> M<01> <1F> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>[<5B>'9<>7<EFBFBD>?<3F>?<3F> K<> M<01> <10><1A>%<25><18>*<2A> ,<2C><14>T<EFBFBD>N<EFBFBD>? 
<EFBFBD>B <14> <12>G<EFBFBD>O<EFBFBD>O<EFBFBD> $<24> 7<><14><1C><1C> F<> <13>E<EFBFBD>N<EFBFBD>
<EFBFBD>
<0E> )<29> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>d<EFBFBD>F<EFBFBD> 3<> 5<> <16><07><0F><0F><16> 0<> <13>T<EFBFBD>N<EFBFBD> 
<EFBFBD> <0F> <14>f<EFBFBD>f<EFBFBD> %<25> <14>f<EFBFBD>f<EFBFBD> %<25> <17><16><16> (<28>
<EFBFBD>[2<06>Fruc<00>Naa<01>]tRtRtoRtRtR.tR.tRtRt V3Rlt
R t Vt V;t #)
rDi<>zP
Subclass of the `MakoLexer` that highlights unlexed data
with the `HtmlLexer`.
z HTML+Makoz html+makoztext/html+makor,r.c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrCr<>s&,<2C>rsrp<00>MakoHtmlLexer.__init__<5F><00><00><><00> <0A><07><18><19>I<EFBFBD>9<><17>9rurmrr<>s@@rsrDrD<00>s4<00><><00><00><08>
<17>D<EFBFBD><1A>m<EFBFBD>G<EFBFBD>!<21>"<22>I<EFBFBD>
)<29>C<EFBFBD><19>M<EFBFBD>:<3A>:ruc<00>Naa<01>]tRtRtoRtRtR.tR.tRtRt V3Rlt
R t Vt V;t #)
rEi<>zO
Subclass of the `MakoLexer` that highlights unlexed data
with the `XmlLexer`.
zXML+Makozxml+makozapplication/xml+makor,r.c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrCr<>s&,<2C>rsrp<00>MakoXmlLexer.__init__<5F><00><00><><00> <0A><07><18><18>9<EFBFBD>8<><07>8rurmrr<>s@@rsrErE<00>s4<00><><00><00><08>
<16>D<EFBFBD><19>l<EFBFBD>G<EFBFBD>'<27>(<28>I<EFBFBD>
)<29>C<EFBFBD><19>M<EFBFBD>9<>9ruc<00>Raa<01>]tRtRtoRtRtRR.t.R
OtRtRt V3Rlt
R t Vt V;t #) rFi<>zV
Subclass of the `MakoLexer` that highlights unlexed data
with the `JavascriptLexer`.
zJavaScript+Makozjavascript+makozjs+makor,r.c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrCr<>s&,<2C>rsrp<00>MakoJavascriptLexer.__init__<5F>s<00><><00> <0A><07><18><1F>)<29>?<3F>w<EFBFBD>?rurm)zapplication/x-javascript+makoztext/x-javascript+makoztext/javascript+makorr<>s@@rsrFrF<00>s:<00><><00><00><08>
<1D>D<EFBFBD> <20>)<29>,<2C>G<EFBFBD>)<29>I<EFBFBD> *<2A>C<EFBFBD><19>M<EFBFBD>@<01>@ruc<00>Naa<01>]tRtRtoRtRtR.tR.tRtRt V3Rlt
R t Vt V;t #)
rGi<>zO
Subclass of the `MakoLexer` that highlights unlexed data
with the `CssLexer`.
zCSS+Makozcss+makoz text/css+makor,r.c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrCr<>s&,<2C>rsrp<00>MakoCssLexer.__init__<5F>r<rurmrr<>s@@rsrGrG<00>s4<00><><00><00><08>
<16>D<EFBFBD><19>l<EFBFBD>G<EFBFBD> <20>!<21>I<EFBFBD>
)<29>C<EFBFBD><19>M<EFBFBD>9<>9ruc<00>*a<00>]tRtRtoRtRtRtVtR#)<06>CheetahPythonLexeri<72>zA
Lexer for handling Cheetah's special $ tokens in Python syntax.
c#<08><>"<00>\R/VPBpVPV4F8wr4pV\P8XdVR8Xd\
P pW4V3x<00>K: R#5i)<03>$Nrm)rrrr<>r"rrr)rqr<><00>pylexer<65>pos<6F>type_<65>values&& rsr<><00>)CheetahPythonLexer.get_tokens_unprocessed<65>sW<00><00><00><1D>-<2D><04> <0C> <0C>-<2D><07>!(<28>!?<3F>!?<3F><04>!E<> <1D>C<EFBFBD><05><14><05> <0B> <0B>#<23><05><13> <0C><1F><0F><0F><05><15>e<EFBFBD>#<23> #<23>"F<01>s<00>A%A'rmN)r<>r<>r<>r<>r<>r<>r<>r<>r<>s@rsrDrD<00>s<00><><00><00><08>$<24>$rurDc<00>f<00>]tRtRtRtRtRtRR.tRR.tR R
.t R t
R R ] !] 43R] 3R] P3R] P3R] !] P]!]4] P43R] !] P]!]443R] !] P]!]4] P43R]3R]3. /tRtR#)rIi<>z<>
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/
<EFBFBD>Cheetah<61>http://www.cheetahtemplate.org/<2F>cheetah<61>spitfirez*.tmplz*.sptzapplication/x-cheetahzapplication/x-spitfirerir<>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<>rmN)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrrrrDr!rr<>r<>rmrursrIrI<00>s<><00><00><08> <15>D<EFBFBD>
+<2B>C<EFBFBD><18>*<2A>%<25>G<EFBFBD><19>7<EFBFBD>#<23>I<EFBFBD>(<28>*B<>C<>I<EFBFBD><16>M<EFBFBD> <0F> <1B><16>w<EFBFBD><1F> "<22> <20>'<27> *<2A> "<22>G<EFBFBD>O<EFBFBD>O<EFBFBD> 4<> <17><17><1F><1F> )<29> *<2A><16>w<EFBFBD><EFBFBD><EFBFBD><05>.@<40>(A<><1E><EFBFBD><EFBFBD>(<28> *<2A>(<28> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>-?<3F>'@<40> A<> C<01> %<25> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>-?<3F>'@<40><1D>o<EFBFBD>o<EFBFBD>'<27> (<28><10><17> <18><14>T<EFBFBD>N<EFBFBD>/
<EFBFBD><06>Fruc<00>Raa<01>]tRtRtoRtRt.R
OtRR.tRtRt V3Rlt
R t Vt V;t #) rJizS
Subclass of the `CheetahLexer` that highlights unlexed data
with the `HtmlLexer`.
z HTML+Cheetahztext/html+cheetahztext/html+spitfirerNric <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrIr<>s&,<2C>rsrp<00>CheetahHtmlLexer.__init__s<00><><00> <0A><07><18><19>L<EFBFBD><<3C>G<EFBFBD><rurm)z html+cheetahz html+spitfire<72> htmlcheetahrr<>s@@rsrJrJs5<00><><00><00><08>
<1A>D<EFBFBD>><3E>G<EFBFBD>$<24>&:<3A>;<3B>I<EFBFBD>
+<2B>C<EFBFBD><16>M<EFBFBD>=<3D>=ruc<00>Raa<01>]tRtRtoRtRtRR.tRR.tRtR t V3R
lt
R t Vt V;t #) rKizR
Subclass of the `CheetahLexer` that highlights unlexed data
with the `XmlLexer`.
z XML+Cheetahz xml+cheetahz xml+spitfirezapplication/xml+cheetahzapplication/xml+spitfirerNric <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrIr<>s&,<2C>rsrp<00>CheetahXmlLexer.__init__"<00><00><><00> <0A><07><18><18><<3C>;<3B>7<EFBFBD>;rurmrr<>s@@rsrKrKs:<00><><00><00><08>
<19>D<EFBFBD><1C>n<EFBFBD>-<2D>G<EFBFBD>*<2A>,F<>G<>I<EFBFBD>
+<2B>C<EFBFBD><16>M<EFBFBD><<3C><ruc<00>Raa<01>]tRtRtoRtRt.ROt.R OtRtRt V3Rlt
Rt Vt V;t #)
rLi&zY
Subclass of the `CheetahLexer` that highlights unlexed data
with the `JavascriptLexer`.
zJavaScript+CheetahrNric <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrIr<>s&,<2C>rsrp<00>CheetahJavascriptLexer.__init__8s<00><><00> <0A><07><18><1F>,<2C>B<>'<27>Brurm)zjavascript+cheetahz
js+cheetahzjavascript+spitfirez js+spitfire)z application/x-javascript+cheetahztext/x-javascript+cheetahztext/javascript+cheetahz!application/x-javascript+spitfireztext/x-javascript+spitfireztext/javascript+spitfirerr<>s@@rsrLrL&s7<00><><00><00><08>
<20>D<EFBFBD>5<>G<EFBFBD>-<2D>I<EFBFBD> ,<2C>C<EFBFBD><16>M<EFBFBD>C<01>Cruc <00>`<00>]tRtRtRtRtRtR.tRR.tRt R R
]
3R ] !] ] 43R ] !] ] P4R 3]!R4R]
3.R R] R3R]!]4R3R] !]] ]!]44R3R]R3R] !]] ] 4R3.RR] !] P]!]4] P43R]P(3./tRtR#)r:i<z0
A lexer that highlights genshi text templates.
z Genshi Text<78>https://genshi.edgewall.org/<2F>
genshitextzapplication/x-genshi-textz text/x-genshirir<>z[^#$\s]+z ^(\s*)(##.*)$z ^(\s*)(#)<29> directiver<65>z[#$\s]z\nr<6E>z(?:def|for|if)\s+.*z (choose|when|with)([^\S\n]+)(.*)z(choose|otherwise)\bz(end\w*)([^\S\n]*)(.*)<29>(?<!\$)(\$\{)(.+?)(\})z(?<!\$)(\$)([a-zA-Z_][\w.]*)rmN)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r!rrrrrrrrrr<>r<>r<>rmrursr:r:<s <00><00><08> <19>D<EFBFBD>
(<28>C<EFBFBD><1B>n<EFBFBD>G<EFBFBD>,<2C>o<EFBFBD>><3E>I<EFBFBD><16>M<EFBFBD> <0F> <18>%<25> <20> <1D>x<EFBFBD><04>g<EFBFBD>6<> 7<> <19>8<EFBFBD>D<EFBFBD>'<27>/<2F>/<2F>:<3A>K<EFBFBD> H<> <13>J<EFBFBD> <1F> <16><05> <1E> 
<EFBFBD> <14> <12>D<EFBFBD>&<26> !<21> #<23>U<EFBFBD>;<3B>%7<><16> @<40> 0<> <15>g<EFBFBD>t<EFBFBD>U<EFBFBD>;<3B>%7<> 8<>&<26> B<01> $<24>g<EFBFBD>v<EFBFBD> 6<> &<26><08><17>$<24><07>(H<>&<26> Q<> 
<EFBFBD> <13> &<26> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>[<5B>'9<>7<EFBFBD>?<3F>?<3F> K<> M<01> ,<2C> <11>]<5D>]<5D> <1C>
<EFBFBD>!<06>Fruc<00><><00>]tRtRtRt]P tRR]3R] !]
P] !] 4]
P43R]3R]PR3R ]PR
3]!R 4R ]3.RR ]3R]P$R3R]PR3.RR] !]] !] 4]4R3R] !]] !] 4]4R3R]R3.R
R ]3R]P$R3R]P$R3R]PR3.RR]R3R]R3R]R3.RR]R3]!R4R]3.RR]R3]!R4R]3.RR]3]!R 4.R R] !]
P] !] 4]
P43R]P(3./ tR tR!#)"<22>GenshiMarkupLexeri`zL
Base lexer for Genshi markup, used by `HtmlGenshiLexer` and
`GenshiLexer`.
r<EFBFBD>z[^<$]+z(<\?python)(.*?)(\?>)z'<\s*(script|style)\s*.*?>.*?<\s*/\1\s*>z<\s*py:[a-zA-Z0-9]+<2B>pytagz<\s*[a-zA-Z0-9:.]+r<>r<>z[<$]r<>z [\w:-]+\s*=<3D>pyattrr0r<>z (")(.*?)(")z (')(.*?)(')r4z py:[\w-]+\s*=r1<00>"z attr-dstring<6E>'z attr-sstringz[^\s>]*<2A>stringsz[^"'$]+r`z(?<!\$)(\$)([a-zA-Z_][\w\.]*)rmN)r<>r<>r<>r<>r<>r<>r<>r<>r!rrrrrrrrrr<>rr<>r<>r<>rmrursrbrb`s<><00><00><08>
<0F>I<EFBFBD>I<EFBFBD>E<EFBFBD> <0F> <16><05> <1E> %<25> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>[<5B>'9<>7<EFBFBD>?<3F>?<3F> K<> M<01>8<><15> ?<3F> #<23>T<EFBFBD>X<EFBFBD>X<EFBFBD>w<EFBFBD> 7<> "<22>D<EFBFBD>H<EFBFBD>H<EFBFBD>e<EFBFBD> 4<> <13>J<EFBFBD> <1F> <14>e<EFBFBD> <1C>

<EFBFBD> <10> <13>T<EFBFBD>N<EFBFBD> <1B>T<EFBFBD>^<5E>^<5E>X<EFBFBD> 6<> <16><04><08><08>&<26> )<29>
<EFBFBD>
<11> <1A>H<EFBFBD>V<EFBFBD>U<EFBFBD>;<3B>-?<3F><16>H<>&<26> Q<> <1A>H<EFBFBD>V<EFBFBD>U<EFBFBD>;<3B>-?<3F><16>H<>&<26> Q<> <17><16><16> (<28>
<EFBFBD>
<0E> <13>T<EFBFBD>N<EFBFBD> <1D>t<EFBFBD>~<7E>~<7E>x<EFBFBD> 8<> <1B>T<EFBFBD>^<5E>^<5E>V<EFBFBD> 4<> <16><04><08><08>&<26> )<29> 
<EFBFBD> <0F> <10>&<26>.<2E> )<29> <10>&<26>.<2E> )<29> <17><16><16> (<28>
<EFBFBD>
<17> <10>&<26>&<26> !<21> <13>I<EFBFBD> <1E> <10>&<26>M<EFBFBD>
<EFBFBD>
<17> <10>&<26>&<26> !<21> <13>I<EFBFBD> <1E> <10>&<26>M<EFBFBD>
<EFBFBD>
<12> <17><16> <20> <13>J<EFBFBD> <1F>
<EFBFBD> <13> &<26> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD>[<5B>'9<>7<EFBFBD>?<3F>?<3F> K<> M<01> -<2D> <11>]<5D>]<5D> <1C>
<EFBFBD>_5<06>Frurbc<00>^aa<01>]tRtRtoRtRtRR.tRt.R OtR.t Rt
V3R lt R
t R t VtV;t#) r9i<>z~
A lexer that highlights `genshi <https://genshi.edgewall.org/>`_ and
`kid <http://kid-templating.org/>`_ kid HTML templates.
z HTML+Genshiz html+genshizhtml+kidriztext/html+genshir]c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrbr<>s&,<2C>rsrp<00>HtmlGenshiLexer.__init__<5F>s<00><><00> <0A><07><18><19>$5<>A<><17>Aruc<08><><00>Rp\P!RV4e
VR, p\P!RV4e
VR, pV\P!V4,R,
#<00>r<>z \$\{.*?\}皙<><E79A99><EFBFBD><EFBFBD><EFBFBD>?zpy:(.*?)=["\']r<>)r<>r<>rr<>r<>s& rsr<><00>HtmlGenshiLexer.analyse_text<78>sW<00><00> <10><02> <0A>9<EFBFBD>9<EFBFBD>\<5C>4<EFBFBD> (<28> 4<> <0E>#<23>I<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>&<26><04> -<2D> 9<> <0E>#<23>I<EFBFBD>B<EFBFBD><11>I<EFBFBD>*<2A>*<2A>4<EFBFBD>0<>0<>4<EFBFBD>7<>7rurm<00>r<><00>*.htm<74>*.xhtmlr<6C>r<>s@@rsr9r9<00>sB<00><><00><00><08>
<19>D<EFBFBD><1C>j<EFBFBD>)<29>G<EFBFBD><16>M<EFBFBD>4<>O<EFBFBD>#<23>$<24>I<EFBFBD>
(<28>C<EFBFBD>B<01>8<>8ruc<00>daa<01>]tRtRtoRtRt.R OtR.tRtR.t RR.t
R t V3R
lt R t R tVtV;t#)r8i<>z}
A lexer that highlights `genshi <https://genshi.edgewall.org/>`_ and
`kid <http://kid-templating.org/>`_ kid XML templates.
<EFBFBD>Genshiz*.kidrir<>zapplication/x-genshizapplication/x-kidr]c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrbr<>s&,<2C>rsrp<00>GenshiLexer.__init__<5F>s<00><><00> <0A><07><18><18>#4<>@<40><07>@ruc<08><><00>Rp\P!RV4e
VR, p\P!RV4e
VR, pV\P!V4,R,
#rl)r<>r<>rr<>r<>s& rsr<><00>GenshiLexer.analyse_text<78>sW<00><00> <10><02> <0A>9<EFBFBD>9<EFBFBD>\<5C>4<EFBFBD> (<28> 4<> <0E>#<23>I<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>&<26><04> -<2D> 9<> <0E>#<23>I<EFBFBD>B<EFBFBD><11>H<EFBFBD>)<29>)<29>$<24>/<2F>/<2F>$<24>6<>6rurm)<04>genshi<68>kidz
xml+genshizxml+kid<69>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rpr<>r<>r<>r<>r<>s@@rsr8r8<00>sI<00><><00><00><08>
<14>D<EFBFBD>8<>G<EFBFBD><18> <09>I<EFBFBD><16>M<EFBFBD><1E>i<EFBFBD>O<EFBFBD>'<27>)<<3C>=<3D>I<EFBFBD>
(<28>C<EFBFBD>A<01>7<>7ruc<00>^aa<01>]tRtRtoRtRt.R
OtRtR.t.R Ot Rt
V3Rlt Rt R t VtV;t#) r<i<>zC
A lexer that highlights javascript code in genshi text templates.
zJavaScript+Genshi Textri<00>*.js<6A>https://genshi.edgewall.orgc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr:r<>s&,<2C>rsrp<00>JavascriptGenshiLexer.__init__<5F>s<00><><00> <0A><07><18><1F>/<2F>E<>W<EFBFBD>Eruc<08>:<00>\PV4R,
#<00><><E79A99><EFBFBD><EFBFBD><EFBFBD>?<3F>r8r<>r<>s&rsr<><00>"JavascriptGenshiLexer.analyse_text<78><00><00><00><1A>'<27>'<27><04>-<2D><04>4<>4rurm)z js+genshitextz js+genshizjavascript+genshitextzjavascript+genshi)zapplication/x-javascript+genshiztext/x-javascript+genshiztext/javascript+genshir<69>r<>s@@rsr<r<<00>sB<00><><00><00><08> $<24>D<EFBFBD>$<24>G<EFBFBD><16>M<EFBFBD><1D>h<EFBFBD>O<EFBFBD>+<2B>I<EFBFBD> (<28>C<EFBFBD>F<01>5<>5ruc<00>\aa<01>]tRtRtoRtRtRR.tRtR.tR.t R t
V3R
lt R t R t VtV;t#) r;i<>zC
A lexer that highlights CSS definitions in genshi text templates.
zCSS+Genshi Textzcss+genshitextz
css+genshiri<00>*.cssztext/css+genshir}c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr:r<>s&,<2C>rsrp<00>CssGenshiLexer.__init__<5F>s<00><><00> <0A><07><18><18>?<3F>><3E>g<EFBFBD>>ruc<08>:<00>\PV4R,
#r<>r<>r<>s&rsr<><00>CssGenshiLexer.analyse_text<78>r<>rurmr<>r<>s@@rsr;r;<00>sC<00><><00><00><08> <1D>D<EFBFBD><1F><1C>.<2E>G<EFBFBD><16>M<EFBFBD><1E>i<EFBFBD>O<EFBFBD>"<22>#<23>I<EFBFBD>
'<27>C<EFBFBD>?<3F>5<>5ruc<00>daa<01>]tRtRtoRtRt.R OtR.tRt.R Ot R.t
Rt V3Rlt R t R
tVtV;t#) r*i<>z<>
Subclass of the ERB lexer that highlights the unlexed data with the
html lexer.
Nested Javascript and CSS is highlighted too.
<EFBFBD>RHTMLz*.rhtmlriztext/html+rubyrgc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr)r<>s&,<2C>rsrp<00>RhtmlLexer.__init__ <00><00><><00> <0A><07><18><19>H<EFBFBD>8<><07>8ruc<08>r<00>\PV4R,
p\V4'd
VR, pV#<00>r<>g<00>?)r)r<>r#r<>s& rsr<><00>RhtmlLexer.analyse_texts0<00><00> <15> "<22> "<22>4<EFBFBD> (<28>4<EFBFBD> /<2F><02> <1F><04> %<25> %<25> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurm)<03>rhtmlzhtml+erbz html+rubyrorzr<>s@@rsr*r*<00>sC<00><><00><00><08> <13>D<EFBFBD>0<>G<EFBFBD><1A> <0B>I<EFBFBD><16>M<EFBFBD>4<>O<EFBFBD>!<21>"<22>I<EFBFBD>
'<27>C<EFBFBD>9<><12>ruc<00>\aa<01>]tRtRtoRtRtRR.tRtR.tR.t R t
V3R
lt R t R t VtV;t#) r+izc
Subclass of `ErbLexer` which highlights data outside preprocessor
directives with the `XmlLexer`.
zXML+Rubyzxml+rubyzxml+erbrir<>zapplication/xml+rubyrgc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr)r<>s&,<2C>rsrp<00>XmlErbLexer.__init__%<00><00><><00> <0A><07><18><18>8<EFBFBD>7<>w<EFBFBD>7ruc<08>r<00>\PV4R,
p\V4'd
VR, pV#r<>)r)r<>r$r<>s& rsr<><00>XmlErbLexer.analyse_text(s0<00><00> <15> "<22> "<22>4<EFBFBD> (<28>4<EFBFBD> /<2F><02> <19>$<24> <1F> <1F> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurmr<>r<>s@@rsr+r+sC<00><><00><00><08>
<16>D<EFBFBD><19>9<EFBFBD>%<25>G<EFBFBD><16>M<EFBFBD><1E>i<EFBFBD>O<EFBFBD>'<27>(<28>I<EFBFBD>
'<27>C<EFBFBD>8<><12>ruc<00>\aa<01>]tRtRtoRtRtRR.tRtR.tR.t R t
V3R
lt R t R t VtV;t#) r,i/zK
Subclass of `ErbLexer` which highlights unlexed data with the `CssLexer`.
zCSS+Rubyzcss+rubyzcss+erbrir<>z text/css+rubyrgc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr)r<>s&,<2C>rsrp<00>CssErbLexer.__init__;r<>ruc<08>:<00>\PV4R,
#r<><00>r)r<>r<>s&rsr<><00>CssErbLexer.analyse_text><00><00><00><17>$<24>$<24>T<EFBFBD>*<2A>T<EFBFBD>1<>1rurmr<>r<>s@@rsr,r,/sC<00><><00><00><08> <16>D<EFBFBD><19>9<EFBFBD>%<25>G<EFBFBD><16>M<EFBFBD><1E>i<EFBFBD>O<EFBFBD> <20>!<21>I<EFBFBD>
'<27>C<EFBFBD>8<>2<>2ruc<00>^aa<01>]tRtRtoRtRt.R
OtRtR.t.R Ot Rt
V3Rlt Rt R t VtV;t#) r-iBzR
Subclass of `ErbLexer` which highlights unlexed data with the
`JavascriptLexer`.
zJavaScript+Rubyrir|rgc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr)r<>s&,<2C>rsrp<00>JavascriptErbLexer.__init__Q<00><00><><00> <0A><07><18><1F>(<28>><3E>g<EFBFBD>>ruc<08>:<00>\PV4R,
#r<>r<>r<>s&rsr<><00>JavascriptErbLexer.analyse_textTr<>rurm)zjavascript+rubyzjs+rubyzjavascript+erbzjs+erb)zapplication/x-javascript+rubyztext/x-javascript+rubyztext/javascript+rubyr<79>r<>s@@rsr-r-Bs?<00><><00><00><08>
<1D>D<EFBFBD>H<>G<EFBFBD><16>M<EFBFBD><1D>h<EFBFBD>O<EFBFBD>)<29>I<EFBFBD> (<28>C<EFBFBD>?<3F>2<>2ruc<00>daa<01>]tRtRtoRtRtR.tR.tRt.R Ot .R Ot
Rt V3Rlt R t R
tVtV;t#) r%iXz|
Subclass of `PhpLexer` that highlights unhandled data with the `HtmlLexer`.
Nested Javascript and CSS is highlighted too.
zHTML+PHPzhtml+phpz*.phtmlri<00>https://www.php.netc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrr<>s&,<2C>rsrp<00>HtmlPhpLexer.__init__kr<>ruc<08>t<00>\P!V4R,
p\V4'd
VR, pV#r<>)rr<>r#r<>s& rsr<><00>HtmlPhpLexer.analyse_textns0<00><00> <15> "<22> "<22>4<EFBFBD> (<28>4<EFBFBD> /<2F><02> <1F><04> %<25> %<25> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurm)<05>*.phpr<70>rprq<00>
*.php[345])zapplication/x-phpzapplication/x-httpd-phpzapplication/x-httpd-php3zapplication/x-httpd-php4zapplication/x-httpd-php5rzr<>s@@rsr%r%XsI<00><><00><00><08> <16>D<EFBFBD><19>l<EFBFBD>G<EFBFBD><1A> <0B>I<EFBFBD><16>M<EFBFBD>%<25>O<EFBFBD>I<01>I<EFBFBD> <20>C<EFBFBD>9<><12>ruc<00>\aa<01>]tRtRtoRtRtR.tRt.R OtR.t Rt
V3Rlt R t R
t VtV;t#) r&iuzL
Subclass of `PhpLexer` that highlights unhandled data with the `XmlLexer`.
zXML+PHPzxml+phprizapplication/xml+phpr<70>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrr<>s&,<2C>rsrp<00>XmlPhpLexer.__init__<5F>r<>ruc<08>t<00>\P!V4R,
p\V4'd
VR, pV#r<>)rr<>r$r<>s& rsr<><00>XmlPhpLexer.analyse_text<78>s0<00><00> <15> "<22> "<22>4<EFBFBD> (<28>4<EFBFBD> /<2F><02> <19>$<24> <1F> <1F> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurm)r<>r<>r<>r<>r<>s@@rsr&r&us><00><><00><00><08> <15>D<EFBFBD><18>k<EFBFBD>G<EFBFBD><16>M<EFBFBD>6<>O<EFBFBD>&<26>'<27>I<EFBFBD>
<1F>C<EFBFBD>8<><12>ruc<00>Zaa<01>]tRtRtoRtRtR.tRtR.tR.t Rt
V3R lt R
t R t VtV;t#) r'i<>zM
Subclass of `PhpLexer` which highlights unmatched data with the `CssLexer`.
zCSS+PHPzcss+phprir<>z text/css+phpr<70>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrr<>s&,<2C>rsrp<00>CssPhpLexer.__init__<5F>r<>ruc<08><<00>\P!V4R,
#r<><00>rr<>r<>s&rsr<><00>CssPhpLexer.analyse_text<78>s<00><00><17>$<24>$<24>T<EFBFBD>*<2A>T<EFBFBD>1<>1rurmr<>r<>s@@rsr'r'<00>s@<00><><00><00><08> <15>D<EFBFBD><18>k<EFBFBD>G<EFBFBD><16>M<EFBFBD><1E>i<EFBFBD>O<EFBFBD><1F> <20>I<EFBFBD>
<1F>C<EFBFBD>8<>2<>2ruc<00>^aa<01>]tRtRtoRtRtRR.tRtR.t.R Ot Rt
V3R lt R
t R t VtV;t#) r(i<>zT
Subclass of `PhpLexer` which highlights unmatched data with the
`JavascriptLexer`.
zJavaScript+PHPzjavascript+phpzjs+phprir|r<>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrr<>s&,<2C>rsrp<00>JavascriptPhpLexer.__init__<5F>r<>ruc<08>.<00>\P!V4#r<>r<>r<>s&rsr<><00>JavascriptPhpLexer.analyse_text<78>s<00><00><17>$<24>$<24>T<EFBFBD>*<2A>*rurm)zapplication/x-javascript+phpztext/x-javascript+phpztext/javascript+phpr<70>r<>s@@rsr(r(<00>sD<00><><00><00><08>
<1C>D<EFBFBD><1F><18>*<2A>G<EFBFBD><16>M<EFBFBD><1D>h<EFBFBD>O<EFBFBD>(<28>I<EFBFBD> <20>C<EFBFBD>?<3F>+<2B>+ruc<00>\aa<01>]tRtRtoRtRtR.tRt.R OtR.t Rt
V3Rlt R t R
t VtV;t#) r/i<>z<>
Subclass of the `SmartyLexer` that highlights unlexed data with the
`HtmlLexer`.
Nested Javascript and CSS is highlighted too.
z HTML+Smartyz html+smartyriztext/html+smartyr<79>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr.r<>s&,<2C>rsrp<00>HtmlSmartyLexer.__init__<5F>rruc<08>r<00>\PV4R,
p\V4'd
VR, pV#r<>)r.r<>r#r<>s& rsr<><00>HtmlSmartyLexer.analyse_text<78><00>0<00><00> <18> %<25> %<25>d<EFBFBD> +<2B>d<EFBFBD> 2<><02> <1F><04> %<25> %<25> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurm)r<>rprqr<>r<>r<>s@@rsr/r/<00>s><00><><00><00><08> <19>D<EFBFBD><1C>o<EFBFBD>G<EFBFBD><16>M<EFBFBD>=<3D>O<EFBFBD>#<23>$<24>I<EFBFBD>
#<23>C<EFBFBD><<3C><12>ruc<00>\aa<01>]tRtRtoRtRtR.tRtRR.tR.t R t
V3R
lt R t R t VtV;t#) r0i<>zQ
Subclass of the `SmartyLexer` that highlights unlexed data with the
`XmlLexer`.
z
XML+Smartyz
xml+smartyrir<>r<>zapplication/xml+smartyr<79>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr.r<>s&,<2C>rsrp<00>XmlSmartyLexer.__init__<5F>rruc<08>r<00>\PV4R,
p\V4'd
VR, pV#r<>)r.r<>r$r<>s& rsr<><00>XmlSmartyLexer.analyse_text<78><00>0<00><00> <18> %<25> %<25>d<EFBFBD> +<2B>d<EFBFBD> 2<><02> <19>$<24> <1F> <1F> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurmr<>r<>s@@rsr0r0<00>sC<00><><00><00><08>
<18>D<EFBFBD><1B>n<EFBFBD>G<EFBFBD><16>M<EFBFBD><1E><07>(<28>O<EFBFBD>)<29>*<2A>I<EFBFBD>
#<23>C<EFBFBD>;<3B><12>ruc<00>\aa<01>]tRtRtoRtRtR.tRtRR.tR.t R t
V3R
lt R t R t VtV;t#) r1i<>zQ
Subclass of the `SmartyLexer` that highlights unlexed data with the
`CssLexer`.
z
CSS+Smartyz
css+smartyrir<>r<>ztext/css+smartyr<79>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr.r<>s&,<2C>rsrp<00>CssSmartyLexer.__init__<5F>rruc<08>:<00>\PV4R,
#r<><00>r.r<>r<>s&rsr<><00>CssSmartyLexer.analyse_text<78>r<>rurmr<>r<>s@@rsr1r1<00>sC<00><><00><00><08>
<18>D<EFBFBD><1B>n<EFBFBD>G<EFBFBD><16>M<EFBFBD><1E><07>(<28>O<EFBFBD>"<22>#<23>I<EFBFBD>
#<23>C<EFBFBD>;<3B>5<>5ruc<00>`aa<01>]tRtRtoRtRtRR.tRtRR.t.R Ot R t
V3R
lt R t R t VtV;t#)r2i<>zX
Subclass of the `SmartyLexer` that highlights unlexed data with the
`JavascriptLexer`.
zJavaScript+Smartyzjavascript+smartyz js+smartyrir|r<>r<>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr.r<>s&,<2C>rsrp<00>JavascriptSmartyLexer.__init__rruc<08>:<00>\PV4R,
#r<>r<>r<>s&rsr<><00>"JavascriptSmartyLexer.analyse_text
r<>rurm)zapplication/x-javascript+smartyztext/x-javascript+smartyztext/javascript+smartyr<79>r<>s@@rsr2r2<00>sH<00><><00><00><08>
<1F>D<EFBFBD>"<22>K<EFBFBD>0<>G<EFBFBD><16>M<EFBFBD><1D>w<EFBFBD>'<27>O<EFBFBD>+<2B>I<EFBFBD> $<24>C<EFBFBD>B<01>5<>5ruc<00>haa<01>]tRtRtoRtRt.R Ot.R OtRt.R Ot RR.t
Rt V3Rlt R t R
tVtV;t#)r4iz<>
Subclass of the `DjangoLexer` that highlights unlexed data with the
`HtmlLexer`.
Nested Javascript and CSS is highlighted too.
zHTML+Django/Jinjariztext/html+djangoztext/html+jinjar<61>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr3r<>s&,<2C>rsrp<00>HtmlDjangoLexer.__init__rruc<08>r<00>\PV4R,
p\V4'd
VR, pV#r<>)r3r<>r#r<>s& rsr<><00>HtmlDjangoLexer.analyse_text!r<>rurm)z html+djangoz
html+jinja<6A>
htmldjango)z *.html.j2z*.htm.j2z
*.xhtml.j2z *.html.jinja2z *.htm.jinja2z*.xhtml.jinja2rorzr<>s@@rsr4r4sD<00><><00><00><08> <1F>D<EFBFBD>9<>G<EFBFBD>j<>I<EFBFBD><16>M<EFBFBD>4<>O<EFBFBD>#<23>%6<>7<>I<EFBFBD>
A<EFBFBD>C<EFBFBD><<3C><12>ruc<00>faa<01>]tRtRtoRtRtRR.tRR.tRtR .t R
R .t
R t V3R lt Rt RtVtV;t#)r6i(zQ
Subclass of the `DjangoLexer` that highlights unlexed data with the
`XmlLexer`.
zXML+Django/Jinjaz
xml+djangoz xml+jinjaz*.xml.j2z *.xml.jinja2rir<>zapplication/xml+djangozapplication/xml+jinjar<61>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr3r<>s&,<2C>rsrp<00>XmlDjangoLexer.__init__6rruc<08>r<00>\PV4R,
p\V4'd
VR, pV#r<>)r3r<>r$r<>s& rsr<><00>XmlDjangoLexer.analyse_text9r<>rurmrzr<>s@@rsr6r6(sP<00><><00><00><08>
<1E>D<EFBFBD><1B>[<5B>)<29>G<EFBFBD><1B>^<5E>,<2C>I<EFBFBD><16>M<EFBFBD><1E>i<EFBFBD>O<EFBFBD>)<29>+B<>C<>I<EFBFBD>
A<EFBFBD>C<EFBFBD>;<3B><12>ruc<00>faa<01>]tRtRtoRtRtRR.tRR.tRtR .t R
R .t
R t V3R lt Rt RtVtV;t#)r5i@zQ
Subclass of the `DjangoLexer` that highlights unlexed data with the
`CssLexer`.
zCSS+Django/Jinjaz
css+djangoz css+jinjaz*.css.j2z *.css.jinja2rir<>ztext/css+djangoztext/css+jinjar<61>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr3r<>s&,<2C>rsrp<00>CssDjangoLexer.__init__Nrruc<08>:<00>\PV4R,
#r<><00>r3r<>r<>s&rsr<><00>CssDjangoLexer.analyse_textQr<>rurmrzr<>s@@rsr5r5@sP<00><><00><00><08>
<1E>D<EFBFBD><1B>[<5B>)<29>G<EFBFBD><1B>^<5E>,<2C>I<EFBFBD><16>M<EFBFBD><1E>i<EFBFBD>O<EFBFBD>"<22>$4<>5<>I<EFBFBD>
A<EFBFBD>C<EFBFBD>;<3B>5<>5ruc<00>faa<01>]tRtRtoRtRt.R OtRR.tRtR.t .R Ot
Rt V3R lt R
t R tVtV;t#)r7iUzX
Subclass of the `DjangoLexer` that highlights unlexed data with the
`JavascriptLexer`.
zJavaScript+Django/Jinjaz*.js.j2z *.js.jinja2rir|r<>c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr3r<>s&,<2C>rsrp<00>JavascriptDjangoLexer.__init__irruc<08>:<00>\PV4R,
#r<>r<>r<>s&rsr<><00>"JavascriptDjangoLexer.analyse_textlr<>rurm)zjavascript+djangoz js+djangozjavascript+jinjazjs+jinja)zapplication/x-javascript+djangozapplication/x-javascript+jinjaztext/x-javascript+djangoztext/x-javascript+jinjaztext/javascript+djangoztext/javascript+jinjarzr<>s@@rsr7r7UsM<00><><00><00><08>
%<25>D<EFBFBD>/<2F>G<EFBFBD><1A>M<EFBFBD>*<2A>I<EFBFBD><16>M<EFBFBD><1D>h<EFBFBD>O<EFBFBD>*<2A>I<EFBFBD> B<01>C<EFBFBD>B<01>5<>5ruc<00>Z<00>]tRtRtRtRR]R3R]3R]3R]3.RR ]R
3R ]!]43./t R t
R #)<0E> JspRootLexeripzd
Base for the `JspLexer`. Yields `Token.Other` for area outside of
JSP tags.
.. versionadded:: 0.7
r<EFBFBD><00><%\S?<3F>seczC</?jsp:(forward|getProperty|include|plugin|setProperty|useBean).*?><3E>[^<]+<2B><ryr<><00>[\w\W]+?(?=%>|\Z)rmN) r<>r<>r<>r<>r<>rr!rr
r<>r<>rmrursr<>r<>ps]<00><00><08> <0F> <15>w<EFBFBD><05> &<26> S<> <14> <16> <15>u<EFBFBD> <1D> <11>5<EFBFBD>M<EFBFBD> 
<EFBFBD> <0E> <12>G<EFBFBD>V<EFBFBD> $<24> !<21>5<EFBFBD><19>#3<> 4<>
<EFBFBD><06>Frur<>c<00>Zaa<01>]tRtRtoRtRtR.tR.tR.tRt Rt
V3R lt R
t R t VtV;t#) rHi<>z
Lexer for Java Server Pages.
zJava Server Page<67>jspz*.jspzapplication/x-jspz.https://projects.eclipse.org/projects/ee4j.jspr.c <08><<<01>\SV`!\\3/VBR#r<><00>r<>rprr<>r<>s&,<2C>rsrp<00>JspLexer.__init__<5F>rXruc<08><><00>\P!V4R,
p\V4'd
VR, pRV9dRV9d
VR, pV#<00>r<>r<>rxryr<>)r
r<>r$r<>s& rsr<><00>JspLexer.analyse_text<78>sF<00><00> <16> #<23> #<23>D<EFBFBD> )<29>D<EFBFBD> 0<><02> <19>$<24> <1F> <1F> <0E>#<23>I<EFBFBD>B<EFBFBD> <0F>4<EFBFBD><<3C>D<EFBFBD>D<EFBFBD>L<EFBFBD> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurm<00>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rpr<>r<>r<>r<>r<>s@@rsrHrH<00>s@<00><><00><00><08> <1E>D<EFBFBD><14>g<EFBFBD>G<EFBFBD><18> <09>I<EFBFBD>$<24>%<25>I<EFBFBD>
:<3A>C<EFBFBD><19>M<EFBFBD><<3C><12>ruc<00>0a<00>]tRtRtoRtRtR.tR.tR.tRt Rt
] Pt R R
]3R ]P R 3R ]3R]P 3R]!]]P(]R]]43R]!]]P(]R]]!]4]43R]!]]P(]R]!]4]43R]!]]P(43R]!]R]!]4]P(RR]43R]3.
R R]P 3R ]P R3R]P R3R]P 3./tRtRtVtR#)rMi<>z/
For files using the Evoque templating system.
<EFBFBD>Evoque<75>evoquez*.evoquezapplication/x-evoque<75>https://gizmojo.org/templating<6E>1.1r<EFBFBD>z[^#$]+z#\[<5B>commentz\$\$z\$\w+:[^$\n]*\$z'(\$)(begin|end)(\{(%)?)(.*?)((?(4)%)\})Nz>(\$)(evoque|overlay)(\{(%)?)(\s*[#\w\-"\'.]+)?(.*?)((?(4)%)\})z!(\$)(\w+)(\{(%)?)(.*?)((?(4)%)\})z(\$)(else|rof|fi)z%(\$\{(%)?)(.*?)((!)(.*?))?((?(2)%)\})<29>#z[^\]#]r<>z\]#r<>z[\]#]c <0C><00>RV9d^#R#)z.Evoque templates use $evoque, which is unique.z$evoqueNrmr<>s&rsr<><00>EvoqueLexer.analyse_text<78>s<00><00> <14><04> <1C><14> rurm)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r!rr)rrrrrrrr<>r<>r<>r<>r<>s@rsrMrM<00>s<><00><><00><00><08> <14>D<EFBFBD><17>j<EFBFBD>G<EFBFBD><1B> <0C>I<EFBFBD>'<27>(<28>I<EFBFBD>
*<2A>C<EFBFBD><19>M<EFBFBD> <0E>I<EFBFBD>I<EFBFBD>E<EFBFBD> <0F> <16><05> <1E> <13>W<EFBFBD>&<26>&<26> <09> 2<> <14>e<EFBFBD> <1C> <1F><17>!2<>!2<> 3<> 7<> <15>k<EFBFBD>4<EFBFBD><<3C><<3C><1B>d<EFBFBD><1C>k<EFBFBD>+<2B> ,<2C>!<21> <15>k<EFBFBD>4<EFBFBD><<3C><<3C><1B>d<EFBFBD><1C>e<EFBFBD>K<EFBFBD>0<>+<2B>?<3F> @<01>
2<> <15>k<EFBFBD>4<EFBFBD><<3C><<3C><1B>d<EFBFBD><1B>K<EFBFBD>(<28>+<2B>7<> 8<>"<22>8<EFBFBD>K<EFBFBD><14><1C><1C>#F<> G<> 5<> <15>k<EFBFBD>4<EFBFBD><15>{<7B>);<3B><1A>l<EFBFBD>l<EFBFBD>D<EFBFBD>$<24> <0B>=<3D> ><3E><12>5<EFBFBD>M<EFBFBD>9
<EFBFBD>< <12> <16><07>)<29>)<29> *<2A> <13>W<EFBFBD>&<26>&<26><07> 0<> <13>W<EFBFBD>&<26>&<26><06> /<2F> <15>w<EFBFBD>(<28>(<28> )<29> 
<EFBFBD>?%<06>F<EFBFBD>N<15>ruc<00>Zaa<01>]tRtRtoRtRtR.tR.tR.tRt Rt
V3R lt R
t R t VtV;t#) rNi<>zR
Subclass of the `EvoqueLexer` that highlights unlexed data with the
`HtmlLexer`.
z HTML+Evoquez html+evoquer<65>ztext/html+evoquerrc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrMr<>s&,<2C>rsrp<00>EvoqueHtmlLexer.__init__<5F>rruc<08>,<00>\PV4#r<><00>rMr<>r<>s&rsr<><00>EvoqueHtmlLexer.analyse_text<78><00><00><00><1A>'<27>'<27><04>-<2D>-rurm<00>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rpr<>r<>r<>r<>r<>s@@rsrNrN<00>s@<00><><00><00><08> <19>D<EFBFBD><1C>o<EFBFBD>G<EFBFBD><1F>j<EFBFBD>O<EFBFBD>#<23>$<24>I<EFBFBD>
*<2A>C<EFBFBD><19>M<EFBFBD><<3C>.<2E>.ruc<00>Zaa<01>]tRtRtoRtRtR.tR.tR.tRt Rt
V3R lt R
t R t VtV;t#) rOi<>zQ
Subclass of the `EvoqueLexer` that highlights unlexed data with the
`XmlLexer`.
z
XML+Evoquez
xml+evoquer<65>zapplication/xml+evoquerrc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrMr<>s&,<2C>rsrp<00>EvoqueXmlLexer.__init__<5F>rruc<08>,<00>\PV4#r<>r
r<>s&rsr<><00>EvoqueXmlLexer.analyse_text<78>r rurmr r<>s@@rsrOrO<00>s@<00><><00><00><08> <18>D<EFBFBD><1B>n<EFBFBD>G<EFBFBD><1E>i<EFBFBD>O<EFBFBD>)<29>*<2A>I<EFBFBD>
*<2A>C<EFBFBD><19>M<EFBFBD>;<3B>.<2E>.ruc<00><00>]tRtRtRtRtR.t.t.tRt Rt
] Pt RR]P3R ]P 3R
]3R ]3R ]3R ]3R]3R]3R]3R]P&R3R]P3R]3R]3R]P,3R]P,3R]!]P2]]43R]P83R]3R]3.RR]P&3R]P:3R]P&3R]P&3R]P&R 3./tR!tR"#)#rPi<>z
Coldfusion statements
<EFBFBD> cfstatement<6E>cfs<66>5https://www.adobe.com/products/coldfusion-family.htmlrir<>z//.*?\nz/\*(?:.|\n)*?\*/z\+\+|--z
[-+*/^&=!]z <=|>=|<|>|==zmod\bz"(eq|lt|gt|lte|gte|not|is|and|or)\bz\|\||&&z\?re<00>stringr3<00>\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<62>zD(application|session|client|cookie|super|this|variables|arguments)\bz([a-z_$][\w.]*)(\s*)(\()z [a-z_$][\w.]*z[()\[\]{};:,.\\]r<>z""z#.+?#z[^"#]+rr<>rmN) r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>
IGNORECASEr<EFBFBD>rr<>r)rrr<>r rr<>rrr<>rrr<><00>Interpr<70>r<>rmrursrPrP<00>sb<00><00><08> <19>D<EFBFBD><14>g<EFBFBD>G<EFBFBD><12>I<EFBFBD><12>I<EFBFBD>
A<EFBFBD>C<EFBFBD><16>M<EFBFBD> <0E>M<EFBFBD>M<EFBFBD>E<EFBFBD> <0F> <17><17><1E><1E> (<28> <20>'<27>"3<>"3<> 4<> <17><18> "<22> <1A>H<EFBFBD> %<25> <1C>h<EFBFBD> '<27> <15>x<EFBFBD> <20> 2<>H<EFBFBD> =<3D> <17><18> "<22> <12>H<EFBFBD> <1D> <11>6<EFBFBD>=<3D>=<3D>(<28> +<2B><16>v<EFBFBD>}<7D>}<7D> %<25> <13>V<EFBFBD> <1C>M<01>NU<4E> W<01>$<24>W<EFBFBD>%5<>%5<> 6<> T<> <11>]<5D>]<5D> <1C> (<28> <15>d<EFBFBD>m<EFBFBD>m<EFBFBD>T<EFBFBD>;<3B> 7<> 9<> <1D>t<EFBFBD>}<7D>}<7D> -<2D> <20>+<2B> .<2E> <13>T<EFBFBD>N<EFBFBD>3
<EFBFBD>6 <11> <12>F<EFBFBD>M<EFBFBD>M<EFBFBD> "<22> <15>v<EFBFBD>}<7D>}<7D> %<25> <16><06> <0A> <0A> &<26> <11>6<EFBFBD>=<3D>=<3D> !<21> <11>6<EFBFBD>=<3D>=<3D>&<26> )<29> 
<EFBFBD>9#<06>Fruc<00><><00>]tRtRtRtRtR.t.t.tRt RR]
3] !R4R ]
3.RR
] PR 3R ] 3R ]PR3R]!]P]!]4]P43R]!]P]!]4]P43.RR]
3R]!]]!]4]43R]PR3] !R4R]
3R]
3.R R
] PR3R] PR3R] P3./tRtR#)<1C>ColdfusionMarkupLexeri2z
Coldfusion markup only
<EFBFBD>
Coldfusion<EFBFBD>cfrr<>r<><00>tagsz<[^<>]*z<!---<2D> cfcommentz(?s)<!--.*?-->z <cfoutput.*?><3E>cfoutputz((?s)(<cfscript.*?>)(.+?)(</cfscript.*?>)z<>(?s)(</?cf(?:component|include|if|else|elseif|loop|return|dbinfo|dump|abort|location|invoke|throw|file|savecontent|mailpart|mail|header|content|zip|image|lock|argument|try|catch|break|directory|http|set|function|param)\b)(.*?)((?<!\\)>)z[^#<]+z (#)(.*?)(#)z</cfoutput.*?>r<>z (?s)<[^<>]*rr<>z--->z([^<-]|<(?!!---)|-(?!-->))+rmN)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r!rrr)rrrrrPrr<>r<>rmrursrr2sP<00><00><08> <18>D<EFBFBD><13>f<EFBFBD>G<EFBFBD><12>I<EFBFBD><12>I<EFBFBD>
A<EFBFBD>C<EFBFBD> <0F> <15>u<EFBFBD> <1D> <13>F<EFBFBD>O<EFBFBD> <17><15> <1F>
<EFBFBD>
<0F> <15>w<EFBFBD>(<28>(<28>+<2B> 6<> <1E><07> (<28> <1D>t<EFBFBD>|<7C>|<7C>Z<EFBFBD> 8<> 8<> <15>d<EFBFBD>l<EFBFBD>l<EFBFBD>E<EFBFBD>/<2F>$:<3A>D<EFBFBD>L<EFBFBD>L<EFBFBD> I<> K<01>Q<01><16>d<EFBFBD>l<EFBFBD>l<EFBFBD>E<EFBFBD>/<2F>$:<3A>D<EFBFBD>L<EFBFBD>L<EFBFBD> I<>  K<01> 
<EFBFBD> <13> <16><05> <1E> <1B>X<EFBFBD>k<EFBFBD>5<EFBFBD><1F>3I<33>&1<>3<> 4<><1F><04> <0C> <0C>f<EFBFBD> 5<> <13>F<EFBFBD>O<EFBFBD> <1B>U<EFBFBD> #<23> <11>5<EFBFBD>M<EFBFBD> 
<EFBFBD> <14> <15>w<EFBFBD>(<28>(<28>'<27> 2<> <14>g<EFBFBD>'<27>'<27><16> 0<> +<2B>W<EFBFBD>-><3E>-><3E> ?<3F>
<EFBFBD>;"<06>Frurc<00>Vaa<01>]tRtRtoRtRtR.tRR.tR.tRt R t
V3R
lt R t Vt V;t#) rQiaz
Coldfusion markup in html
zColdfusion HTML<4D>cfmz*.cfmz*.cfmlzapplication/x-coldfusionrric <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrr<>s&,<2C>rsrp<00>ColdfusionHtmlLexer.__init__ls<00><><00> <0A><07><18><19>$9<>E<>W<EFBFBD>Erurm<00>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rpr<>r<>r<>r<>s@@rsrQrQas@<00><><00><00><08> <1D>D<EFBFBD><14>g<EFBFBD>G<EFBFBD><18>(<28>#<23>I<EFBFBD>+<2B>,<2C>I<EFBFBD>
A<EFBFBD>C<EFBFBD><16>M<EFBFBD>F<01>Fruc<00>Raa<01>]tRtRtoRtRtR.tR.t.tRt Rt
V3Rlt R t Vt V;t#)
rRipz%
Coldfusion markup/script components
zColdfusion CFC<46>cfcz*.cfcr<00>2.0c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprQrPr<>s&,<2C>rsrp<00>ColdfusionCFCLexer.__init__{s<00><><00> <0A><07><18>,<2C>o<EFBFBD>I<><17>Irurmr&r<>s@@rsrRrRps:<00><><00><00><08> <1C>D<EFBFBD><14>g<EFBFBD>G<EFBFBD><18> <09>I<EFBFBD><12>I<EFBFBD>
A<EFBFBD>C<EFBFBD><19>M<EFBFBD>J<01>Jruc<00>Zaa<01>]tRtRtoRtRtR.tR.tR.tRt Rt
V3R lt R
t R t VtV;t#) rViz!
Lexer for Scalate Server Pages.
zScalate Server Page<67>sspz*.sspzapplication/x-sspz"https://scalate.github.io/scalate/r#c <08><<<01>\SV`!\\3/VBR#r<>r<>r<>s&,<2C>rsrp<00>SspLexer.__init__<5F>rXruc<08><><00>Rp\P!RV4'd
VR, p\V4'd
VR, pRV9dRV9d
VR, pV#)r<>z val \w+\s*:g333333<33>?rmrxryr<>)r<>r<>r$r<>s& rsr<><00>SspLexer.analyse_text<78>sP<00><00> <10><02> <0A>9<EFBFBD>9<EFBFBD>^<5E>T<EFBFBD> *<2A> *<2A> <0E>#<23>I<EFBFBD>B<EFBFBD> <19>$<24> <1F> <1F> <0E>#<23>I<EFBFBD>B<EFBFBD> <0F>4<EFBFBD><<3C>D<EFBFBD>D<EFBFBD>L<EFBFBD> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurmr<>r<>s@@rsrVrVs@<00><><00><00><08> !<21>D<EFBFBD><14>g<EFBFBD>G<EFBFBD><18> <09>I<EFBFBD>$<24>%<25>I<EFBFBD>
.<2E>C<EFBFBD><19>M<EFBFBD><<3C><12>ruc<00>T<00>]tRtRtRtRR]R3R]3R]3.RR]R 3R
]!]43./t R t
R #) <0A>TeaTemplateRootLexeri<72>zo
Base for the `TeaTemplateLexer`. Yields `Token.Other` for area outside of
code blocks.
.. versionadded:: 1.5
r<EFBFBD>r<>r<>r<>r<>ryr<>r<>rmN) r<>r<>r<>r<>r<>rr!rr r<>r<>rmrursr3r3<00>sR<00><00><08> <0F> <15>w<EFBFBD><05> &<26> <15>u<EFBFBD> <1D> <11>5<EFBFBD>M<EFBFBD>
<EFBFBD>
<0E> <12>G<EFBFBD>V<EFBFBD> $<24> !<21>5<EFBFBD><1C>#6<> 7<>
<EFBFBD> <06>Frur3c<00>Zaa<01>]tRtRtoRtRtR.tR.tR.tRt Rt
V3R lt R
t R t VtV;t#) rWi<>z
Lexer for Tea Templates.
<EFBFBD>Tea<65>teaz*.teaz
text/x-teaz$https://github.com/teatrove/teatrovez1.5c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr3r<>s&,<2C>rsrp<00>TeaTemplateLexer.__init__<5F>s<00><><00> <0A><07><18><18>#7<>C<>7<EFBFBD>Cruc<08><><00>\P!V4R,
p\V4'd
VR, pRV9dRV9d
VR, pV#r<>)r r<>r$r<>s& rsr<><00>TeaTemplateLexer.analyse_text<78>sF<00><00> <19> &<26> &<26>t<EFBFBD> ,<2C>t<EFBFBD> 3<><02> <19>$<24> <1F> <1F> <0E>#<23>I<EFBFBD>B<EFBFBD> <0F>4<EFBFBD><<3C>D<EFBFBD>D<EFBFBD>L<EFBFBD> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurmr<>r<>s@@rsrWrW<00>s@<00><><00><00><08> <11>D<EFBFBD><14>g<EFBFBD>G<EFBFBD><18> <09>I<EFBFBD><1D><0E>I<EFBFBD>
0<EFBFBD>C<EFBFBD><19>M<EFBFBD>D<01><12>ruc<00>^aa<01>]tRtRtoRtRtR.tRt.R
Ot.R Ot Rt
V3Rlt Rt R t VtV;t#) rXi<>z<>
Subclass of the `LassoLexer` which highlights unhandled data with the
`HtmlLexer`.
Nested JavaScript and CSS is also highlighted.
z
HTML+Lassoz
html+lasso<73>1.6<EFBFBD>https://www.lassosoft.comc <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrr<>s&,<2C>rsrp<00>LassoHtmlLexer.__init__<5F>s<00><><00> <0A><07><18><19>J<EFBFBD>:<3A>'<27>:ruc<08>t<00>\P!V4R,
p\V4'd
VR, pV#r<>)rr<>r#r<>s& rsr<><00>LassoHtmlLexer.analyse_text<78>s0<00><00> <17> $<24> $<24>T<EFBFBD> *<2A>T<EFBFBD> 1<><02> <1F><04> %<25> %<25> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurm)r<>rprq<00>*.lasso<73> *.lasso[89]<5D>*.incl<63>*.inc<6E>*.las)ztext/html+lassozapplication/x-httpd-lassozapplication/x-httpd-lasso[89]r<>r<>s@@rsrXrX<00>sA<00><><00><00><08> <18>D<EFBFBD><1B>n<EFBFBD>G<EFBFBD><19>M<EFBFBD>3<>O<EFBFBD>2<>I<EFBFBD> &<26>C<EFBFBD>;<3B><12>ruc<00>\aa<01>]tRtRtoRtRtR.tRt.R OtR.t Rt
V3Rlt R t R
t VtV;t#) rYi<>zS
Subclass of the `LassoLexer` which highlights unhandled data with the
`XmlLexer`.
z XML+Lassoz xml+lassor<zapplication/xml+lassor=c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrr<>s&,<2C>rsrp<00>LassoXmlLexer.__init__<5F>s<00><><00> <0A><07><18><18>:<3A>9<><17>9ruc<08>t<00>\P!V4R,
p\V4'd
VR, pV#r<>)rr<>r$r<>s& rsr<><00>LassoXmlLexer.analyse_text<78>s0<00><00> <17> $<24> $<24>T<EFBFBD> *<2A>T<EFBFBD> 1<><02> <19>$<24> <1F> <1F> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurm)r<>rBrCrDrErFr<>r<>s@@rsrYrY<00>s@<00><><00><00><08>
<17>D<EFBFBD><1A>m<EFBFBD>G<EFBFBD><19>M<EFBFBD>3<>O<EFBFBD>(<28>)<29>I<EFBFBD>
%<25>C<EFBFBD>:<3A><12>ruc<00>Zaa<01>]tRtRtoRtRtR.tRtR.tR.t Rt
V3R lt R
t R t VtV;t#) rZi<>zS
Subclass of the `LassoLexer` which highlights unhandled data with the
`CssLexer`.
z CSS+Lassoz css+lassor<r<>ztext/css+lassor=c <08>F<<01>RVR&\SV`!\\3/VBR#<00>T<>requiredelimitersN)r<>rprrr<>s&,<2C>rsrp<00>LassoCssLexer.__init__s"<00><><00>'+<2B><07>#<23>$<24> <0A><07><18><18>:<3A>9<><17>9ruc<08><><00>\P!V4R,
p\P!RV4'd
VR, pRV9d
VR, pV#)r<>z
\w+:[^;]+;r<>zpadding:)rr<>r<>r<>r<>s& rsr<><00>LassoCssLexer.analyse_text
sG<00><00> <17> $<24> $<24>T<EFBFBD> *<2A>T<EFBFBD> 1<><02> <0A>9<EFBFBD>9<EFBFBD>]<5D>D<EFBFBD> )<29> )<29> <0E>#<23>I<EFBFBD>B<EFBFBD> <15><14> <1D> <0E>#<23>I<EFBFBD>B<EFBFBD><11> rurmr<>r<>s@@rsrZrZ<00>s@<00><><00><00><08>
<17>D<EFBFBD><1A>m<EFBFBD>G<EFBFBD><19>M<EFBFBD><1E>i<EFBFBD>O<EFBFBD>!<21>"<22>I<EFBFBD>
%<25>C<EFBFBD>:<3A><12>ruc<00>^aa<01>]tRtRtoRtRtRR.tRtR.t.R Ot Rt
V3R lt R
t R t VtV;t#) r[izZ
Subclass of the `LassoLexer` which highlights unhandled data with the
`JavascriptLexer`.
zJavaScript+Lassozjavascript+lassozjs+lassor<r|r=c <08>F<<01>RVR&\SV`!\\3/VBR#rN)r<>rprrr<>s&,<2C>rsrp<00>LassoJavascriptLexer.__init__"s"<00><><00>'+<2B><07>#<23>$<24> <0A><07><18><1F>*<2A>@<40><07>@ruc<08>@<00>\P!V4R,
pV#r<>)rr<>r<>s& rsr<><00>!LassoJavascriptLexer.analyse_text&s<00><00> <17> $<24> $<24>T<EFBFBD> *<2A>T<EFBFBD> 1<><02><11> rurm)zapplication/x-javascript+lassoztext/x-javascript+lassoztext/javascript+lassor<6F>r<>s@@rsr[r[sE<00><><00><00><08>
<1E>D<EFBFBD>!<21>:<3A>.<2E>G<EFBFBD><19>M<EFBFBD><1D>h<EFBFBD>O<EFBFBD>*<2A>I<EFBFBD> &<26>C<EFBFBD>A<01><12>ruc<00><><00>]tRtRtRtRtRtR.tRtRR] 3R ]
3R
] !]
P] 4R 3R ] !]
P]P ]P 4R 3R ] !]
P] 4R 3.R R] 3R]
PR3R] !]]
P4R3R] !]P ]43R] !]] ]43R] !]] ]P(43R] !]] ]4R3]!R4.RR] 3R]R3R] !]] ]P(] 43R] !]] ]!]RR743R]P23]!R4.RR]P(3R]P(3R ]P(3.R]!R4R!]P63R"]P83R#]3./tR$tR%#)&r\i+z<>
Generic handlebars template lexer.
Highlights only the Handlebars template tags (stuff between `{{` and `}}`).
Everything else is left for a delegating lexer.
<EFBFBD>
Handlebars<EFBFBD>https://handlebarsjs.com/<2F>
handlebarsr)r<>r<>z \{\{!.*\}\}z (\{\{\{)(\s*)r<>z(\{\{)([#~/]+)([^\s}]*)<29> (\{\{)(\s*)r<>z\}\}\}r<>z
(~?)(\}\})z ([^\s}]+)(=)z(>)(\s*)(@partial-block)z(#?>)(\s*)([\w-]+)z (>)(\s*)(\()zdynamic-partial<61>genericr<63>z(lookup)(\s+)(\.|this)(\s+)z(lookup)(\s+)(\S+)r<><00>r<>z[\w-]+z[()/@a-zA-Z][\w-]*z\.[\w-]+z(this\/|\.\/|(\.\.\/)+)[\w-]+r<>r<>r<>rmN)r<>r<>r<>r<>r<>r<>r<>r<>r<>r!rr<00>Specialrrr r<>rrrr<>rrrrr<>rr<>r<>r<>r<>rmrursr\r\+s<><00><00><08> <18>D<EFBFBD>
%<25>C<EFBFBD><1B>n<EFBFBD>G<EFBFBD><19>M<EFBFBD> <0F> <15>u<EFBFBD> <1D><1C>W<EFBFBD> %<25><1E>x<EFBFBD><07><0F><0F><14>><3E><05> F<>(<28> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>v<EFBFBD>'7<>'7<><16>9I<39>9I<39> J<>E<EFBFBD> S<01> <1B>X<EFBFBD>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD><<3C>e<EFBFBD> D<> 
<EFBFBD> <0E> <13>T<EFBFBD>N<EFBFBD> <16><07><0F><0F><16> 0<> <1A>H<EFBFBD>V<EFBFBD>W<EFBFBD>_<EFBFBD>_<EFBFBD>=<3D>v<EFBFBD> F<><1D>h<EFBFBD>t<EFBFBD>~<7E>~<7E>x<EFBFBD>@<40> A<>)<29>(<28>7<EFBFBD>D<EFBFBD>'<27>*J<> K<> "<22>H<EFBFBD>W<EFBFBD>d<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD>$J<> K<> <1C>h<EFBFBD>w<EFBFBD><04>k<EFBFBD>B<> <1E> <20> <14>I<EFBFBD> <1E>!
<EFBFBD>$ <1A> <13>T<EFBFBD>N<EFBFBD> <12>K<EFBFBD><16> (<28> +<2B>X<EFBFBD>g<EFBFBD>t<EFBFBD>6:<3A>m<EFBFBD>m<EFBFBD>T<EFBFBD>.K<01> L<01> "<22>H<EFBFBD>W<EFBFBD>d<EFBFBD>-2<>4<EFBFBD>z<EFBFBD>-J<>%L<01> M<01> <16><04> <0A> <0A> &<26> <13>I<EFBFBD> <1E> 
<EFBFBD> <13> "<22>D<EFBFBD>M<EFBFBD>M<EFBFBD> 2<> <18>$<24>-<2D>-<2D> (<28> -<2D>t<EFBFBD>}<7D>}<7D> =<3D>
<EFBFBD>
<12> <13>J<EFBFBD> <1F>+<2B>F<EFBFBD>M<EFBFBD>M<EFBFBD> :<3A> *<2A>F<EFBFBD>M<EFBFBD>M<EFBFBD> :<3A>'<27>(.<2E> 0<> 
<EFBFBD>g<<06>Fruc<00>Xaa<01>]tRtRtoRtRtR.tRR.tRR.tR t R
t
V3R lt R t Vt V;t#) r]iwzV
Subclass of the `HandlebarsLexer` that highlights unlexed data with the
`HtmlLexer`.
zHTML+Handlebarszhtml+handlebarsz *.handlebarsz*.hbsztext/html+handlebarsztext/x-handlebars-templaterZr)c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr\r<>s&,<2C>rsrp<00>HandlebarsHtmlLexer.__init__<5F>s<00><><00> <0A><07><18><19>O<EFBFBD>?<3F>w<EFBFBD>?rurmr&r<>s@@rsr]r]wsD<00><><00><00><08>
<1D>D<EFBFBD> <20>!<21>G<EFBFBD><1F><17>)<29>I<EFBFBD>'<27>)E<>F<>I<EFBFBD>
%<25>C<EFBFBD><19>M<EFBFBD>@<01>@ruc<00>Zaa<01>]tRtRtoRtRt.R
Ot.R OtRR.tRt Rt
V3Rlt R t Vt V;t#) r^i<>z{
Subclass of the `DjangoLexer` that highlights unlexed data with the
`YamlLexer`.
Commonly used in Saltstack salt states.
z
YAML+Jinjaztext/x-yaml+jinjaz
text/x-sls<6C>!https://jinja.palletsprojects.comr)c <08><<<01>\SV`!\\3/VBR#r<>)r<>rpr r3r<>s&,<2C>rsrp<00>YamlJinjaLexer.__init__<5F>rrurm)z
yaml+jinja<6A>salt<6C>sls)z*.slsz *.yaml.j2z*.yml.j2z *.yaml.jinja2z *.yml.jinja2r&r<>s@@rsr^r^<00>s9<00><><00><00><08> <18>D<EFBFBD>+<2B>G<EFBFBD>S<>I<EFBFBD>$<24>l<EFBFBD>3<>I<EFBFBD>
-<2D>C<EFBFBD><19>M<EFBFBD><<3C><ruc<00><00>]tRtRtRtRtRtR.tR.tRt /RR]
3R ] !] ] 4R
3R ] !] ] ]!]R R 74R3R]
3.bR
R]P"R3R] !]P"] 4]!RRR 43R] !]P"] ] 4R3R] !]P(] ]!]RR 7] ] 4R3R] !]P(] ] 4R3R] !]P(] ] 4R3R] !]P"R] ] 4R3R] !]P(R] ] 4R3R ] !]P(] ]!]R R 7] ] 4R!3R"] !]P(] 4R#3.
bR]!R4R$] R3R%] R&3.bR&]!R4R$] RJ3R'] !]P,] ] 4R(3.bR(R%] R3]!R)4]!R*4.bR]!R4]!R4R+] !]!]R R 7] ]] ]!]R R 7] ] 43R,]3R-]P03R.] !]!]R R 7] ]P0] ]!]R R 743]!R 4]!R4.bR/]!R 4]!R04.bR1R2] !] ]R] 4R3R3] !] ]P0] 4R3.bR)R$] R3.bRR4] RJ3.bR0R5] R3.bR6]!R4R7] !]P2] ]43R8] !] ] ]!]RR 7] ] 43]!R94]!R:4]!R;4R<] 3.bR*]!R64R=]
3.bR>]!R64]!R4R=]
3.bR#R4] RJ3]!R*4.bR!R4] RJ3]!R>4.bR;R?]P43.bRR@]P63RA] 3.R9RB]P:3RC]P<3.R:RD]P@3RE]PB3.R ]!R;4]!R94]!R:4]!R4.RRF] 3.RRG] !] ] ]P(] ] 4RJ3R=]"3.RR]
3RH] !] ] ]P(] ] 4R3R]
3./Ct#RIt$R#)Kr_i<>z
Lexer for Liquid templates.
<EFBFBD>liquidz.https://www.rubydoc.info/github/Shopify/liquidz*.liquidr)r<>r<>z
(\{%)(\s*)z tag-or-blockz(\{\{)(\s*)([^\s}]+)r]r^<00>outputr<74>z(if|unless|elsif|case)(?=\s+)<29> conditionz (when)(\s+)z end-of-block<63>
whitespacez(else)(\s*)(%\})r<>z!(capture)(\s+)([^\s%]+)(\s*)(%\})r<>z(comment)(\s*)(%\})rz(raw)(\s*)(%\})<29>rawz(end(case|unless|if))(\s*)(%\})Nz(end([^\s%]+))(\s*)(%\})z"(cycle)(\s+)(?:([^\s:]*)(:))?(\s*)zvariable-tag-markupz([^\s%]+)(\s*)z
tag-markup<75>\}\}z\|<7C>filtersz([^\s|:]+)(:?)(\s*)z filter-markupz
end-of-tagzdefault-param-markupz/([^\s=!><]+)(\s*)([=!><]=?)(\s*)(\S+)(\s*)(%\})z\b!z\bnot\bz*([\w.\'"]+)(\s+)(contains)(\s+)([\w.\'"]+)z generic-valuezend-at-whitespace<63>operatorz(\s*)((=|!|>|<)=?)(\s*)z(\s*)(\bcontains\b)(\s*)z%\}r<>z param-markupz([^\s=:]+)(\s*)(=|:)z(\{\{)(\s*)([^\s}])(\s*)(\}\})r<00>number<65>keyword<72>,r<>zvariable-param-markupz\b(false|true)\br<62>z(?<=\w)\.(?=\w)z'[^']*'z"[^"]*"z\d+\.\d+rz[ \t]+z (\{%)(\s*)(endcomment)(\s*)(%\})z(\{%)(\s*)(endraw)(\s*)(%\})rm)r<>r<>)%r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rrrrrrr<00>Reservedrrrrr<>r<00>Wordr<64>r<>r<>rr<>r<>r <00>Float<61>Integerrr<>r<>rmrursr_r_<00>s<00><00><08> <14>D<EFBFBD>
:<3A>C<EFBFBD><17>j<EFBFBD>G<EFBFBD><1B> <0C>I<EFBFBD><19>M<EFBFBD>@<06><0E> <15>t<EFBFBD> <1C> <1A>H<EFBFBD>[<5B>*<2A>=<3D>~<7E> N<> $<24> <15>k<EFBFBD>:<3A>u<EFBFBD>T<EFBFBD>9<EFBFBD>/M<> N<> <15> <17><13>D<EFBFBD>M<EFBFBD> 
<EFBFBD>@<06> <17> -<2D>w<EFBFBD>/?<3F>/?<3F><1B> M<> <1B>X<EFBFBD>g<EFBFBD>&6<>&6<>
<EFBFBD>C<> <15>n<EFBFBD>l<EFBFBD>I<EFBFBD> ><3E> @<01> <20> <15>g<EFBFBD>&<26>&<26>
<EFBFBD>K<EFBFBD> @<40>&<26> J<01>2<> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD>
<EFBFBD>E<EFBFBD>$<24>
<EFBFBD>,K<> <20>+<2B>/<2F>06<30> 8<>$<24> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD>
<EFBFBD>K<EFBFBD> 8<>)<29> E<01> <1F> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD>
<EFBFBD>K<EFBFBD> 8<>%<25> A<01>0<> <15>g<EFBFBD>&<26>&<26><04>j<EFBFBD>+<2B> F<><06> P<01> (<28> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD><04>j<EFBFBD>+<2B> ><3E><06> H<01>3<> <15>d<EFBFBD>h<EFBFBD>h<EFBFBD>
<EFBFBD><1B>D<EFBFBD> <09>2<>K<EFBFBD><1A>M<01> "<22> $<24> <1F><08><14><18><18>:<3A> ><3E> <0C> M<>=
<EFBFBD>@<06>Z <11> <13>L<EFBFBD> !<21> <14>k<EFBFBD>6<EFBFBD> *<2A> <12>K<EFBFBD><19> +<2B> 
<EFBFBD>[@<06>h <12> <13>L<EFBFBD> !<21> <14>k<EFBFBD>#3<> 4<> #<23> <15>d<EFBFBD>m<EFBFBD>m<EFBFBD>[<5B>*<2A> =<3D><EFBFBD> P<01> 
<EFBFBD>i@<06>x <18> <12>K<EFBFBD><16> (<28> <13>L<EFBFBD> !<21> <13>*<2A> +<2B>
<EFBFBD>y@<06>D <14> <13>N<EFBFBD> #<23> <13>L<EFBFBD> !<21> ?<3F> <15>e<EFBFBD>D<EFBFBD>)<29>4<>j<EFBFBD>(<28> <20>%<25><04>i<EFBFBD>"@<40>*<2A>!<21>#<23> $<24><14>X<EFBFBD> <1E> <17><18><1D><1D> '<27> :<3A> <15>e<EFBFBD>D<EFBFBD>)<29>4<>j<EFBFBD>(<28>-<2D>-<2D> <20>%<25><04>i<EFBFBD>"@<40>B<01> C<01> <14>I<EFBFBD> <1E> <13>L<EFBFBD> !<21>
<EFBFBD>E@<06>h <18> <13>I<EFBFBD> <1E> <13>'<27> (<28>
<EFBFBD>i@<06>r <13> '<27> <15>j<EFBFBD>(<28>D<EFBFBD>*<2A> =<3D>v<EFBFBD> G<01> (<28> <15>j<EFBFBD>(<28>-<2D>-<2D><1A> <<3C>f<EFBFBD> F<01>
<EFBFBD>s@<06>@ <15> <14>k<EFBFBD>6<EFBFBD> *<2A>
<EFBFBD>A@<06>H <17> <13>[<5B>"2<> 3<>
<EFBFBD>I@<06>P <1C> <13>Z<EFBFBD><16> (<28>
<EFBFBD>Q@<06>Z <17> <13>L<EFBFBD> !<21> $<24> <15>d<EFBFBD>n<EFBFBD>n<EFBFBD>j<EFBFBD>(<28> ;<3B> =<3D>/<2F> <15>k<EFBFBD>:<3A>u<EFBFBD>T<EFBFBD>:<3A>/N<> <20>+<2B>/<2F> 0<> <14>H<EFBFBD> <1D> <13>H<EFBFBD> <1D> <13>I<EFBFBD> <1E> <11>;<3B> <1F>
<EFBFBD>[@<06>z <1F> <13>N<EFBFBD> #<23> <11>4<EFBFBD>L<EFBFBD>!
<EFBFBD>{@<06>D <20> <13>N<EFBFBD> #<23> <13>J<EFBFBD> <1F> <11>4<EFBFBD>L<EFBFBD>"
<EFBFBD>E@<06>P <15> <13>[<5B>"2<> 3<> <13>*<2A> +<2B>
<EFBFBD>Q@<06>Z <1E> <13>[<5B>"2<> 3<> <13>+<2B> ,<2C>
<EFBFBD>[@<06>f <12> <20>'<27>"2<>"2<> 3<>
<EFBFBD>g@<06>n <13> <1C>d<EFBFBD>m<EFBFBD>m<EFBFBD> ,<2C> <1F><1B> -<2D>
<EFBFBD>
<11> <17><16><1D><1D> '<27> <17><16><1D><1D> '<27>
<EFBFBD>
<11> <18>&<26>,<2C>,<2C> '<27> <13>V<EFBFBD>^<5E>^<5E> $<24>
<EFBFBD>
<12> <13>I<EFBFBD> <1E> <13>H<EFBFBD> <1D> <13>H<EFBFBD> <1D> <13>J<EFBFBD> <1F> 
<EFBFBD> <15> <16>
<EFBFBD> #<23>
<EFBFBD>
<12> 0<> <15>k<EFBFBD>:<3A>t<EFBFBD>x<EFBFBD>x<EFBFBD><1A>!<21>#<23>$4<> 6<><12>7<EFBFBD>O<EFBFBD> 
<EFBFBD> <0E> <15>t<EFBFBD> <1C> ,<2C> <15>k<EFBFBD>:<3A>t<EFBFBD>x<EFBFBD>x<EFBFBD><1A>!<21>#<23>$*<2A> ,<2C><13>D<EFBFBD>M<EFBFBD> 
<EFBFBD>s@<06>Fruc<00><><00>]tRtRtRtRtR.tR.tRtRt ]
P]
P,t RtR tR
],R ,t]],tR R ]3R]P(R3R]3R]!]P(]]]]P(]]P(]]]]P(4 3R]!]P(]]]]P(]]P(]]]]P(4 3R] R2]!]P(]]]]P24R3R]!]P(]]4R3R]3.RR] R2]!]]]P243R] R2]!]]]]]P243R]P63R]3R]P83]]P:3R],]P:3R]3R ]P@3R!]PB3R"]3R#]3. RR$]3R%]!]]P(4R&3]"!R4.RR$]3R']!]]P(4R&3]"!R4R(]#3./t$R)t%R*#)+r`ihz<>
Twig template lexer.
It just highlights Twig code between the preprocessor directives,
other data is left untouched by the lexer.
<EFBFBD>Twig<69>twigzapplication/x-twig<69>https://twig.symfony.comr)z[\\\w-]|[^\x00-\x7f]z(?:[\\_a-z]|[^\x00-\x7f])z(?:z)*r<>r<>r<>r<>z \{\#.*?\#\}r<>zL(\{%)(-?\s*)(verbatim)(\s*-?)(%\})(.*?)(\{%)(-?\s*)(endverbatim)(\s*-?)(%\})z(\{%)(-?\s*)(filter)(\s+)(r<>r<>r<>r<>r<>z
(\|)(\s*)(z(is)(\s+)(not)?(\s*)(z(?i)(true|false|none|null)\bz<62>(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<>rmN)&r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00> _ident_char<61> _ident_begin<69>
_ident_end<EFBFBD> _ident_innerr!rrrrrrr<>rrrr<>r rr<>r<>rrr<>r<>rmrursr`r`hs<><00><00><08> <12>D<EFBFBD><15>h<EFBFBD>G<EFBFBD>%<25>&<26>I<EFBFBD>
$<24>C<EFBFBD><19>M<EFBFBD> <0E>D<EFBFBD>D<EFBFBD>2<EFBFBD>4<EFBFBD>4<EFBFBD>K<EFBFBD>E<EFBFBD>*<2A>K<EFBFBD>/<2F>L<EFBFBD><17>+<2B>%<25><04>,<2C>J<EFBFBD><1F>*<2A>,<2C>L<EFBFBD> <0F> <15>u<EFBFBD> <1D> <14>g<EFBFBD>o<EFBFBD>o<EFBFBD>u<EFBFBD> -<2D> <1B>W<EFBFBD> %<25>1<> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>W<EFBFBD>d<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD><1B>W<EFBFBD>_<EFBFBD>_<EFBFBD>d<EFBFBD>G<EFBFBD>T<EFBFBD><1D>o<EFBFBD>o<EFBFBD>'<27> (<28>
6<> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>W<EFBFBD>d<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD><1B>W<EFBFBD>_<EFBFBD>_<EFBFBD>d<EFBFBD>G<EFBFBD>T<EFBFBD><1D>o<EFBFBD>o<EFBFBD>'<27> (<28> ,<2C>L<EFBFBD>><3E><11> ;<3B> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>W<EFBFBD>d<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD> J<> <12> <14>+<2B> <15>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD>W<EFBFBD> 5<>u<EFBFBD> ><3E> <12>E<EFBFBD>N<EFBFBD>-
<EFBFBD>0 <13><1A><<3C>.<2E><01> *<2A> <15>h<EFBFBD><04>d<EFBFBD>m<EFBFBD>m<EFBFBD> 4<> 6<>%<25>l<EFBFBD>^<5E>1<EFBFBD> 5<> <15>g<EFBFBD>t<EFBFBD>W<EFBFBD>d<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD> B<> D<01> ,<2C>g<EFBFBD>n<EFBFBD>n<EFBFBD> =<3D>5<><15>  <16>
&<26>t<EFBFBD>|<7C>|<7C> 4<> <19>4<EFBFBD>=<3D>=<3D> )<29> <12>\<5C> !<21>4<EFBFBD>=<3D>=<3D> 1<> <18>&<26> !<21> *<2A>F<EFBFBD>M<EFBFBD>M<EFBFBD> :<3A> *<2A>F<EFBFBD>M<EFBFBD>M<EFBFBD> :<3A> D<>h<EFBFBD> O<>'<27>(.<2E> 0<>%
<EFBFBD>* <0E> <13>T<EFBFBD>N<EFBFBD> <1A>H<EFBFBD>T<EFBFBD>7<EFBFBD>?<3F>?<3F>;<3B>V<EFBFBD> D<> <13>J<EFBFBD> <1F>
<EFBFBD>
<0E> <13>T<EFBFBD>N<EFBFBD> <19>8<EFBFBD>D<EFBFBD>'<27>/<2F>/<2F>:<3A>F<EFBFBD> C<> <13>J<EFBFBD> <1F> <11>;<3B> <1F> 
<EFBFBD>g9<06>Fruc<00>Taa<01>]tRtRtoRtRtR.tR.tR.tRt Rt
V3R lt R
t Vt V;t#) rai<>zP
Subclass of the `TwigLexer` that highlights unlexed data with the
`HtmlLexer`.
z HTML+Twigz html+twigz*.twigztext/html+twigr|r)c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprr`r<>s&,<2C>rsrp<00>TwigHtmlLexer.__init__<5F>r8rurmr&r<>s@@rsrara<00>s;<00><><00><00><08>
<17>D<EFBFBD><1A>m<EFBFBD>G<EFBFBD><19>
<EFBFBD>I<EFBFBD>!<21>"<22>I<EFBFBD>
$<24>C<EFBFBD><19>M<EFBFBD>:<3A>:ruc<00><00>]tRtRtRtRtRtR.tRtRR] 3R ]
!] P] 4R
3R ]
!]]P ]] ]] 4R 3R ]
!]]P ]] 43R]
!]]P ] ]] 4R 3R]
!]]P ] 43.R
R] 3R] PR3R]P&3R]P(3R]P*3R]3R]P.3R]P.3R]
!]] ]] ]] ]] 43. R R]R3R]R3R]R3./tRtR#)rbi<>z<>
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.
<EFBFBD>Angular2<72>(https://angular.io/guide/template-syntax<61>ng2z2.1r<EFBFBD>z [^{([*#]+r\<00> ngExpressionz&([([]+)([\w:.-]+)([\])]+)(\s*)(=)(\s*)r1z([([]+)([\w:.-]+)([\])]+)(\s*)z([*#])([\w:.-]+)(\s*)(=)(\s*)z([*#])([\w:.-]+)(\s*)z \s+(\|\s+)?ror<>z:?(true|false)r<>r<>r<>z[a-zA-Z][\w-]*(\(.*\))?z\.[\w-]+(\(.*\))?z-(\?)(\s*)([^}\s]+)(\s*)(:)(\s*)([^}\s]+)(\s*)r2r3r4rmN)r<>r<>r<>r<>r<>r<>r<>r<>r<>r!rrrrrrr<>rr<00>Booleanr<6E>r<>r r<>r<>r<>rmrursrbrb<00>s<><00><00><08> <16>D<EFBFBD>
4<EFBFBD>C<EFBFBD><14>g<EFBFBD>G<EFBFBD><19>M<EFBFBD> <0F> <19>5<EFBFBD> !<21><1C>X<EFBFBD>g<EFBFBD>o<EFBFBD>o<EFBFBD>t<EFBFBD><<3C>n<EFBFBD> M<>7<> <15>k<EFBFBD>4<EFBFBD>><3E>><3E>;<3B><04>h<EFBFBD>PT<50> U<> <13> <15>/<2F> <15>k<EFBFBD>4<EFBFBD>><3E>><3E>;<3B><04> E<> G<01>.<2E> <15>k<EFBFBD>4<EFBFBD>><3E>><3E>4<EFBFBD><18>4<EFBFBD> H<>&<26> R<01> %<25> <15>k<EFBFBD>4<EFBFBD>><3E>><3E>4<EFBFBD> 8<> :<3A>!
<EFBFBD>( <17> <1B>T<EFBFBD> "<22> <14>g<EFBFBD>o<EFBFBD>o<EFBFBD>v<EFBFBD> .<2E><1F><06><0E><0E> /<2F> *<2A>F<EFBFBD>M<EFBFBD>M<EFBFBD> :<3A> *<2A>F<EFBFBD>M<EFBFBD>M<EFBFBD> :<3A>'<27>(.<2E> 0<>(<28><14><1D><1D> 7<> !<21>4<EFBFBD>=<3D>=<3D> 1<>><3E> <15>h<EFBFBD><04>f<EFBFBD>d<EFBFBD>H<EFBFBD>d<EFBFBD>F<EFBFBD>D<EFBFBD> Q<> S<01>!
<EFBFBD>& <0F> <14>f<EFBFBD>f<EFBFBD> %<25> <14>f<EFBFBD>f<EFBFBD> %<25> <17><16><16> (<28>
<EFBFBD>Q-<06>Fruc<00>Naa<01>]tRtRtoRtRtR.tR.tRtRt V3Rlt
R t Vt V;t #)
rci
zT
Subclass of the `Angular2Lexer` that highlights unlexed data with the
`HtmlLexer`.
zHTML + Angular2zhtml+ng2z*.ng2r<32>r)c <08><<<01>\SV`!\\3/VBR#r<>)r<>rprrbr<>s&,<2C>rsrp<00>Angular2HtmlLexer.__init__ r<>rurm)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rpr<>r<>r<>r<>s@@rsrcrc
s3<00><><00><00><08>
<1D>D<EFBFBD><19>l<EFBFBD>G<EFBFBD><18> <09>I<EFBFBD>
4<EFBFBD>C<EFBFBD><19>M<EFBFBD>><3E>>ruc<00>Vaa<01>]tRtRtoRtRtR.t.R
OtRtRt V3Rlt
Rt R t Vt V;t#) rdi z
Templated SQL lexer.
z SQL+Jinjaz sql+jinjardz2.13c <08><<<01>\SV`!\\3/VBR#r<>)r<>rpr r3r<>s&,<2C>rsrp<00>SqlJinjaLexer.__init__% rruc<08><><00>Rp\P!RV4'd
VR, p\P!RV4'd
VR, p\P!RV4'd
VR, pV#)r<>z\{\{\s*ref\(.*\)\s*\}\}r<>z\{\{\s*source\(.*\)\s*\}\}r<>z\{%-?\s*macro \w+\(.*\)\s*-?%\}r<>r<>r<>s& rsr<><00>SqlJinjaLexer.analyse_text( s]<00><00> <10><02> <0A>9<EFBFBD>9<EFBFBD>/<2F><14> 6<> 6<> <0E>#<23>I<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>2<>D<EFBFBD> 9<> 9<> <0E>$<24>J<EFBFBD>B<EFBFBD> <0A>9<EFBFBD>9<EFBFBD>7<><14> ><3E> ><3E> <0E>$<24>J<EFBFBD>B<EFBFBD><11> rurm)z*.sqlz*.sql.j2z *.sql.jinja2)r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rpr<>r<>r<>r<>r<>s@@rsrdrd s6<00><><00><00><08> <17>D<EFBFBD><1A>m<EFBFBD>G<EFBFBD>5<>I<EFBFBD>
-<2D>C<EFBFBD><1A>M<EFBFBD>;<3B> <12> ru)wr<77>r<><00>pygments.lexers.htmlrr<00>pygments.lexers.javascriptrr<00>pygments.lexers.cssr<00>pygments.lexers.phpr<00>pygments.lexers.pythonr<00>pygments.lexers.perlr <00>pygments.lexers.jvmr
r <00>pygments.lexers.datar <00>pygments.lexers.sqlr <00>pygments.lexerrrrrrrrrr<00>pygments.tokenrrrrrrrrrr r!r"<00> pygments.utilr#r$<00>__all__r)r.rSrTrUr3r=r>r?rAr@rBrCrDrErFrGrDrIrJrKrLr:rbr9r8r<r;r*r+r,r-r%r&r'r(r/r0r1r2r4r6r5r7r<>rHrMrNrOrPrrQrRrVr3rWrXrYrZr[r\r]r^r_r`rarbrcrdrmrurs<00><module>r<>s;<00><01><04>
<EFBFBD>4<>B<>(<28>(<28>.<2E>*<2A>7<>*<2A>(<28>,<2C>,<2C>,<2C>I<01>I<01>I<01>I<01>><3E> <1C>><3E> <1C>=<3D> <1C>-<2D> <1C> <1F> <1C>!+<2B> <1C>-9<> <1C> <18> <1C>'<27> <1C>)=<3D> <1C> <19> <1C>,<2C> <1C>.><3E> <1C> <1C>  <1C>5<>  <1C>7D<01>  <1C>
<1D>  <1C>
/<2F>  <1C>
1A<01>  <1C> #<23>  <1C> %2<>  <1C> 4E<01>  <1C> <1D> <1C>/<2F> <1C>1H<01> <1C> <19> <1C>,<2C> <1C>.><3E> <1C> <1C> <1C>5<> <1C>7C<01> <1C>EP<01> <1C> <1B> <1C>+<2B> <1C>-B<01> <1C> <1A> <1C>&<26> <1C>(6<> <1C>8J<01> <1C> <1D> <1C>7<> <1C>9F<01> <1C> <1D> <1C>/<2F> <1C>1B<01> <1C> !<21> <1C>#7<> <1C>9H<01> <1C> <1F> <1C>!3<> <1C>5?<3F> <1C> <1E>! <1C> 0<>! <1C> 2A<01>! <1C>" <1B># <1C>"3<># <1C>"5F<01># <1C>$ !<21>% <1C>$#3<>% <1C>$5B<01>% <1C>& <17>' <1C>&(<28>' <1C>&*9<>' <1C>&;N<01>' <1C>( <1B>) <1C><07>.]<17>u<EFBFBD>]<17>@7<12>*<2A>7<12>tQ<12>J<EFBFBD>Q<12>h><3E><0F>><3E>$<12><EFBFBD><12>0R<12>*<2A>R<12>j+<06>*<2A>+<06>\ <<3C>o<EFBFBD> <<3C> ;<3B>_<EFBFBD> ;<3B> B<01>O<EFBFBD>B<01>$ ;<3B>_<EFBFBD> ;<3B> 3<16><1A>3<16>l?<06>
<EFBFBD>?<06>D :<3A>O<EFBFBD> :<3A> 9<>?<3F> 9<> @<01>/<2F>@<01>$ 9<>?<3F> 9<>$
$<24><15>
$<24>*<06>:<3A>*<06>Z =<3D><EFBFBD> =<3D> <<3C>o<EFBFBD> <<3C> C<01>_<EFBFBD>C<01>,!<06>j<EFBFBD>!<06>H=<06>
<EFBFBD>=<06>@8<>o<EFBFBD>8<>27<>/<2F>7<>45<>O<EFBFBD>5<>,5<>_<EFBFBD>5<>&<12><1F><12>8<12>/<2F><12>.2<>/<2F>2<>&2<><1F>2<>,<12>?<3F><12>:<12>/<2F><12>,2<>/<2F>2<>&+<2B><1F>+<2B>,<12>o<EFBFBD><12>2<12>_<EFBFBD><12>.5<>_<EFBFBD>5<>(5<>O<EFBFBD>5<>,<12>o<EFBFBD><12>4<12>_<EFBFBD><12>05<>_<EFBFBD>5<>*5<>O<EFBFBD>5<>6<06>:<3A><06>2<12><EFBFBD><12>.7<15>*<2A>7<15>r.<2E>o<EFBFBD>.<2E>&.<2E>_<EFBFBD>.<2E>&0<06>j<EFBFBD>0<06>f,<06>J<EFBFBD>,<06>^ F<01>/<2F> F<01> J<01><1F> J<01><12><EFBFBD><12>2<06>:<3A><06>,<12><EFBFBD><12>.<12>_<EFBFBD><12>8<12>O<EFBFBD><12>0<12>O<EFBFBD><12>4<12>?<3F><12>0I<06>j<EFBFBD>I<06>X@<01>/<2F>@<01>"<<3C>_<EFBFBD><<3C>&J<06>*<2A>J<06>ZP<06>
<EFBFBD>P<06>f:<3A>O<EFBFBD>:<3A>";<06>J<EFBFBD>;<06>| ><3E><0F> ><3E> <12>O<EFBFBD>ru