|e$O\dZddlZddlmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZddlmZmZddlmZddlmZddlmZmZmZdd lmZgd ZGd d eZ Gd deZ!GddeZ"Gdde"Z#GddeZ$GddeZ%GddeZ&e&Z'GddeZ(y)z pygments.lexers.html ~~~~~~~~~~~~~~~~~~~~ Lexers for HTML, XML and related markup. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerExtendedRegexLexerincludebygroupsdefaultusing)TextCommentOperatorKeywordNameString Punctuation Whitespace)looks_like_xmlhtml_doctype_matches)JavascriptLexer) ScalaLexer)CssLexer _indentation _starts_block) RubyLexer) HtmlLexerDtdLexerXmlLexer XsltLexer HamlLexer ScamlLexerPugLexerUrlEncodedLexerceZdZdZdZdZdgZgdZddgZe je jzZ de fd ejfd ej"fd ej$fd ej"fd ej"fdeee ej*e dfdeee ej*e dfdeee ej*dfdeee ee ej*e efg de fdeej,ee dfdej,fdeee edfgdeee ee ej*e edfdeefdeedfdeedfgdeee ee ej*e edfd eefdeedfdeedfgd!edfd"edfd#edfgd$Zd%Zy&)'rzo For HTML 4 and XHTML 1 markup. Nested JavaScript and CSS is highlighted by the appropriate lexer. HTMLzhttps://html.spec.whatwg.org/html)z*.htmlz*.htmz*.xhtml*.xsltz text/htmlzapplication/xhtml+xmlz[^<&]+&\S*?;\<\!\[CDATA\[.*?\]\]\> <\?.*?\?>]*>z(<)(\s*)(script)(\s*))script-contenttagz(<)(\s*)(style)(\s*)) style-contentr+z(<)(\s*)([\w:.-]+)r+z"(<)(\s*)(/)(\s*)([\w:.-]+)(\s*)(>)\s+z([\w:-]+\s*)(=)(\s*)attr[\w:-]+z (/?)(\s*)(>)#popz (<)(\s*)(/)(\s*)(script)(\s*)(>)z.+?(?=<\s*/\s*script\s*>)z.+?\nz.+z(<)(\s*)(/)(\s*)(style)(\s*)(>)z.+?(?=<\s*/\s*style\s*>)".*?"'.*?'[^\s>]+)rootr+r*r,r.ct|ryy)Ng?)rtexts 6/usr/lib/python3/dist-packages/pygments/lexers/html.py analyse_textzHtmlLexer.analyse_textes  % &N)__name__ __module__ __qualname____doc__nameurlaliases filenames mimetypesre IGNORECASEDOTALLflagsr r Entityr Preproc MultilinerrTag Attributer rrrrtokensr9r:r8rrs3 D )ChG8I56I MMBII %Et   $ & 8 G-- . 7?? +  ) % k44 8 & (% k44 8 % ' # k4 2E ; 2 k4dDHHd!# $# ,TN $ht~~x&N    ( h{D+F O  1 k4dDHHd!#$* ,*5+A B u_-v 6 E/*F 3  0 k4dDHHd!##) +)%/ : uX / E(OV ,  ff % ff %  ( k:Fxr:rc xeZdZdZej ej zZdZdgZ dgZ dgZ e dde eeej"dfd e eeej"d fd e eeej$d fd e eeej"dfde eej$eefde eeej"fdej&fdefg defdej$fdedfdefdej.fdej0fgdefdedfdefge ddej&fdej"fd edfge dd!ej&fd"ej&fd#ej2fdej4fd edfge dd$ej&fdej$fd edfge dd%ej&fdej4fd edfgd&Zd'Zy())rzR A lexer for DTDs (Document Type Definitions). .. versionadded:: 1.5 DTDdtdz*.dtdzapplication/xml-dtdcommonz(\s]+)z PUBLIC|SYSTEMz[\[\]>]r-z (%|&)[^;]*;zr0-zEMPTY|ANY|#PCDATAz[^>\s|()?+*,]+>z?CDATA|IDREFS|IDREF|ID|NMTOKENS|NMTOKEN|ENTITIES|ENTITY|NOTATIONz#REQUIRED|#IMPLIED|#FIXEDzxml:space|xml:langzSYSTEM|PUBLIC|NDATAz SYSTEM|PUBLIC)r4rRrWrSrTrUrVc6t|sd|vsd|vsd|vryyy)Nz rD MULTILINErFrGr?rArBrCrrr r r rKrHConstantr r rDoubleSingleReservedrLrMr9rNr:r8rrjsV LL299 $E DgG I&'I H  %$19 > %$19 > $$ 4h @ &$1: ? )$++tW= ?*$1 3 w// 0  !# *TN T[[ ) Wi ( 8 $  ' FMM *  g  GV $ 'N  H  !7#3#3 4  ) 7F #   H  O     )7+;+; < "G$4$4 5  / 7F #  H  #W%5%5 6  , 7F #   H  w// 0  / 7F #  yBFHr:rc eZdZdZej ej zZdZdgZ gdZ gdZ de fde fdejfd ej"fd ej$fd ej"fd ej"fd ej&dfdej&fg de fdej(dfdej&dfgde fdedfdedfdedfgdZdZy)rz= Generic lexer for XML (eXtensible Markup Language). XMLxml)z*.xml*.xslz*.rssr$z*.xsdz*.wsdlz*.wsf)ztext/xmlzapplication/xmlz image/svg+xmlzapplication/rss+xmlzapplication/atom+xmlz[^<&\s]+z[^<&\S]+r%r&r'r(r)z <\s*[\w:.-]+r+z<\s*/\s*[\w:.-]+\s*>r-z [\w.:-]+\s*=r.z/?\s*>r0r1r2r3)r4r+r.ct|ryy)Ng?r\r6s r8r9zXmlLexer.analyse_texts $  r:N)r;r<r=r>rDr]rFrGr?rArBrCr rr rHr rIrJrKrLrrMr9rNr:r8rrs  LL299 $E DgG$I@I $  * %  $ & 8 G-- . 7?? +  ) dhh . $dhh /  Z dnnf 5 & ) Z ff % ff %  (  #F2r:rc>eZdZdZdZdgZgdZddgZhdZdZ d Z y ) rz7 A lexer for XSLT. .. versionadded:: 0.10 XSLTxslt)rer$z*.xplzapplication/xsl+xmlzapplication/xslt+xml>#copy-offor-eachvalue-of with-param strip-space apply-imports attribute-set call-templatedecimal-formatpreserve-spaceapply-templatesnamespace-aliasprocessing-instructionifkeycopysortr7whenparamchooseimportnumberoutputrWrSrmessagefallbacktemplatevariable attribute otherwise transform stylesheetc#Ktj||D]`\}}}tjd|}|tj ur+|r)|j d|jvr |t|fZ|||fbyw)Nz]*)/?>?) rget_tokens_unprocessedrDmatchr rKgroupEXTRA_KEYWORDSr )selfr7indextokenvaluems r8rz XsltLexer.get_tokens_unprocessedsw#+#B#B4#N * E5%-u5A Q1771:9L9L+LWe++UE))  *sA;A=c&t|rd|vryyy)Nzr?rArBrCrrr9rNr:r8rrs6 DhG,I&(>?I N*r:rceZdZdZdZdgZdgZdgZejZ dZ de zdzZ d e fd efgd ej d fd ej"d fgdedfde zdzeeeedfedgeddej0d fde zdzej2dfde zdze zdzeeej6edfde zdzeeddfde zdzeej:ddfde zdzeeeedfde zdzeej<d dfed!g edd"e zd#zeefd$e zd%zeefd&e d'fd(ed)fd*efed!gd+e fd,e zd-zeej@eeej@fd.e dfgd/e fd0ejBd1fd2ejBfd3e dfgd4e fd5ejDdfd6ejDjFdfd7ejDjHdfd8edfd9edfge d:zefd.e dfge d:zej:fd.e dfgd+ej<fd,e zd-zeej@eeej@fd.e dfgd; Z%y<)=rz5 For Haml markup. .. versionadded:: 1.3 Hamlhamlz*.hamlz text/x-hamlz(?: \|\n(?=.* \|)|.)z (?:,\s*\n|)[ \t]*\n[ \t]* \.[\w:-]+r+ \#[\w:-]+[&!]?==plain ([&!]?[=~])(*\n)r4css%[\w:-]+!!!*\nr0(/)(\[*?\])(/html-comment-block-#haml-comment-block(-)(: filter-block eval-or-plain\{(,\n|)*?\}\[*?\]\(html-attributes /[ \t]*\n#pop:2[<>]{1,2}(?=[ \t=])([^#\n]|#[^{\n]|(\\\\)*\\#\{)+(#\{)(*?)(\})\nr-[\w:-]+[ \t]*=html-attribute-valuer/\)[ \t]+\w+@\w+\$\w+'(\\\\|\\[^\\]|[^'\\\n])*'"(\\\\|\\[^\\]|[^"\\\n])*"+) r4rrcontentr+rrrrrrN)&r;r<r=r>r?rArBrCrDrErG_dot _comma_dotr rr ClassFunctionrrrrrrrK Namespacer SpecialrrI DecoratorrInterpolrLVariableInstanceGlobalrMrNr:r8rrsu DhG II MME #D%+J$   % 4::u - 4==% 0 g . z )G 3 k5#3 4   G    EN $((E * d]V #T^^V <   )D 07 : gw 8  D[6 !=:N#O   T\F "M'//2F%HIO Q z !G + k5#3 4  D[6 !=#P   O $! ( EN $  )5+; < T\G #U9%5 6 D+ , ; 1 #[ 1 O $ / 5   * foouY'7 I K D& !  TN 0F G  ( D& !    T]]F + dmm,,f 5 t}}++V 4 *FF ; *FF ; ! CZ ! D& ! CZ ) D& ! / ?   * foouY'7 I K D& !  cWFr:rceZdZdZdZdgZdgZdgZejZ dZ de fde fgd ejd fd ej d fgd ed fde zdzeeeedfed geddej.d fde zdzej0dfde zdze zdzeeej4edfde zdzeeddfde zdzeej8ddfde zdzeeeeedfde zdzeeeedfde zdzeej<ddfed g edd!e zd"zeefd#e zd$zeefd%e d&fd'ed(fd)efed gd*e fd+e zd,zeej@eeej@fd-e dfgd.e fd/ejBd0fd1ejBfd2e dfgd3e fd4ejDdfd5ejDjFdfd6ejDjHdfd7edfd8edfge d9zefd-e dfge d9zej8fd-e dfgd*ej<fd+e zd,zeej@eeej@fd-e dfgd: Z%y;)`_. Scaml is Haml for Scala. .. versionadded:: 1.4 Scamlscamlz*.scamlz text/x-scaml.rrrr+rrrrrr4rrrrr0rrrrrscaml-comment-block(-@\s*)(import)?(rrrrrrrrrrrrrrrrrr-rrr/rrrrrrrr r4rrrr+rrrrrrN)&r;r<r=r>r?rArBrCrDrErGrr rr rrrrrrrrrKrr rrrIr rrrrLrrrrMrNr:r8rrs DiG I I MME D$   % 4::u - 4==% 0 g . t #g - k5#4 5   G    EN $((E * d]V #T^^V <   )D 07 : gw 8  D[6 !=:N#O   T\F "M'//2G%IJP R !D (7 2 k7E*,= >  t^g % k5#4 5  D[6 !=#P   O $' . EN $  )5+< = T\G #U:%6 7 D+ , ; 1 #[ 1 O $ / 5   * foouZ'8&// J L D& !  TN 0F G  ( D& !    T]]F + dmm,,f 5 t}}++V 4 *FF ; *FF ; ! CZ ! D& ! CZ ) D& ! / ?   * foouZ'8&// J L D& !  iZFr:rceZdZdZdZddgZddgZddgZejZ d Z d e fd e fgd ejd fdej d fgdedfde zdzeeeedfedgedde zdzej.dfde zdze zdzeeej2edfde zdzeeddfde zdzeej6ddfde zdzeeeeedfde zdzeeeedfd e zdzeej:d!dfd"ej<d fd#e d$fg edd%e zd&zeefd'e zd(zeefd)e d*fd+ed,fd-efed$gd.e fd/e zd0zeej@eeej@fd1e dfgd2e fd3ejBd4fd"ejBfd5e dfgd6e fd7ejDdfd8ejDjFdfd9ejDjHdfd:edfd;edfge d)?rz For Pug markup. Pug is a variant of Scaml, see: http://scalate.fusesource.org/documentation/scaml-reference.html .. versionadded:: 1.4 Pugpugjadez*.pugz*.jadez text/x-pugz text/x-jaderrrrr+rrrrrr4rrrr0rrrrrrrrrrr/z\|rrrrrrrrrrrrrrr-rrrrrrrrrrrN)&r;r<r=r>r?rArBrCrDrErGrr rr rrrrrrrrrr rrrIr rrKrrrLrrrrMrNr:r8rrs DfoG(#I}-I MME D$   % 4::u - 4==% 0 g . t #g - k5#4 5 @ G    EN d]V #T^^V <   )D 07 : gw 8  D[6 !=:N#O   T\F "M'//2G%IJP R !D (7 2 k7E*,= >  t^g % k5#4 5  D[6 !=#P   5 ) D/ *' . EN $  )5+< = T\G #U:%6 7 D+ , ; 1 #[ 1 O $ / 5   * foouZ'8&// J L D& !  TN 0F G  ( D& !    T]]F + dmm,,f 5 t}}++V 4 *FF ; *FF ; ! CZ ! D& ! CZ ) D& ! / ?   * foouZ'8&// J L D& !  gYFr:rcTeZdZdZdZdgZdgZddeeje e e fgiZ y)r z? Lexer for urlencoded data .. versionadded:: 2.16 urlencodedz!application/x-www-form-urlencodedr4z([^&=]*)(=)([^=&]*)(&?)N)r;r<r=r>r?rArCrr rKr rrrMrNr:r8r r `sE DnG45I  &8V[(Y Z Fr:r ))r>rDpygments.lexerrrrrrrpygments.tokenr r r r r rrr pygments.utilrrpygments.lexers.javascriptrpygments.lexers.jvmrpygments.lexers.cssrrrpygments.lexers.rubyr__all__rrrrrrr JadeLexerr rNr:r8rs >6*EE* 8K K\UzUp)z)X""Jl"l^m#m`j!jV  jr: