o a]M@sdZddlZddlmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZddlmZmZddlmZddlmZddlmZmZmZdd lmZgd ZGd d d eZGd ddeZ GdddeZ!Gddde!Z"GdddeZ#GdddeZ$GdddeZ%e%Z&dS)z pygments.lexers.html ~~~~~~~~~~~~~~~~~~~~ Lexers for HTML, XML and related markup. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerExtendedRegexLexerincludebygroupsdefaultusing)TextCommentOperatorKeywordNameString Punctuation)looks_like_xmlhtml_doctype_matches)JavascriptLexer) ScalaLexer)CssLexer _indentation _starts_block) RubyLexer) HtmlLexerDtdLexerXmlLexer XsltLexer HamlLexer ScamlLexerPugLexerc@seZdZdZdZdgZgdZddgZej ej BZ de fde jfd ejfd ejfd ejfd ejfd eee e je dfdeee e je dfdeee e jdfdeee ee e je efg de fdee jee dfde jfdeee edfgdeee ee e je edfdeefdeedfdeedfgdeee ee e je edfdeefdeedfdeedfgd edfd!edfd"edfgd#Zd$d%Zd&S)'rzo For HTML 4 and XHTML 1 markup. Nested JavaScript and CSS is highlighted by the appropriate lexer. HTMLhtml)z*.htmlz*.htmz*.xhtml*.xsltz text/htmlzapplication/xhtml+xml[^<&]+&\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+cCt|rdSdS)Ng?)rtextr56/usr/lib/python3/dist-packages/pygments/lexers/html.py analyse_textdzHtmlLexer.analyse_textN)__name__ __module__ __qualname____doc__namealiases filenames mimetypesre IGNORECASEDOTALLflagsrr Entityr Preproc MultilinerrTag Attributer rrrr tokensr7r5r5r5r6rs~          \s]+)z PUBLIC|SYSTEMz[\[\]>]r*z (%|&)[^;]*;zr--zEMPTY|ANY|#PCDATAz[^>\s|()?+*,]+>z?CDATA|IDREFS|IDREF|ID|NMTOKENS|NMTOKEN|ENTITIES|ENTITY|NOTATIONz#REQUIRED|#IMPLIED|#FIXEDzxml:space|xml:langzSYSTEM|PUBLIC|NDATAz SYSTEM|PUBLIC)r1rMrRrNrOrPrQcCs,t|sd|vsd|vsd|vrdSdSdS)Nz r?r@rrr rr rHrEConstantr r r DoubleSingleReservedrIrJr7r5r5r5r6ris     Drc @seZdZdZejejBejBZdZ dgZ gdZ gdZ de fdejfdejfd ejfd ejfd ejfd ejd fdejfgde fdejdfdejdfgde fdedfdedfdedfgdZddZdS)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+xmlr!r"r#r$r%r&z <\s*[\w:.-]+r(z<\s*/\s*[\w:.-]+\s*>r*z [\w.:-]+\s*=r+z/?\s*>r-r.r/r0)r1r(r+cCr2)Ng?rVr3r5r5r6r7r8zXmlLexer.analyse_textN)r9r:r;r<rArWrCUNICODErDr=r>r?r@rr rEr rFrGrHrIr rJr7r5r5r5r6rs6    rc@sBeZdZdZdZdgZgdZddgZhdZdd Z d d Z d S) rz7 A lexer for XSLT. .. versionadded:: 0.10 XSLTxslt)r^r z*.xplzapplication/xsl+xmlzapplication/xslt+xml>#copy-offor-eachvalue-of with-param strip-space apply-imports attribute-set call-templatedecimal-formatpreserve-spaceapply-templatesnamespace-aliasprocessing-instructionifkeycopysortr4whenparamchooseimportnumberoutputrRrNrmessagefallbacktemplatevariable attribute otherwise transform stylesheetccsbt||D]'\}}}td|}|tjur(|r(|d|jvr(|t|fVq|||fVqdS)Nz]*)/?>?) rget_tokens_unprocessedrAmatchr rHgroupEXTRA_KEYWORDSr )selfr4indextokenvaluemr5r5r6rs z XsltLexer.get_tokens_unprocessedcCst|r d|vr dSdSdS)Nzr?r@rrr7r5r5r5r6rs rc@sheZdZdZdZdgZdgZdgZej Z dZ de dZ d e fd efgd ejd fd ejd fgdedfde deeeedfedgeddejd fde dejdfde de deeejedfde deeddfde deejddfde deeeedfde deejd dfed!g edd"e d#eefd$e d%eefd&e d'fd(ed)fd*efed!gd+e fd,e d-eej eeej fd.e dfgd/e fd0ej!d1fd2ej!fd3e dfgd4e fd5ej"dfd6ej"j#dfd7ej"j$dfd8edfd9edfge d:efd.e dfge d:ejfd.e dfgd+ejfd,e d-eej eeej fd.e dfgd; Z%d]{1,2}(?=[ \t=])([^#\n]|#[^{\n]|(\\\\)*\\#\{)+(#\{)(*?)(\})\nr*[\w:-]+[ \t]*=html-attribute-valuer,\)[ \t]+\w+@\w+\$\w+'(\\\\|\\[^\\]|[^'\\\n])*'"(\\\\|\\[^\\]|[^"\\\n])*"+) r1rrcontentr(rrrrrrN)&r9r:r;r<r=r>r?r@rArBrD_dot _comma_dotrrr ClassFunctionrrrrrrrH Namespacer SpecialrrF Decoratorr InterpolrIVariableInstanceGlobalrJr5r5r5r6rs                  rc@sxeZdZdZdZdgZdgZdgZej Z dZ de fde fgd ejd fd ejd fgd ed fde deeeedfed geddejd fde dejdfde de deeejedfde deeddfde deejddfde deeeeedfde deeeedfde deejddfed g edd!e d"eefd#e d$eefd%e d&fd'ed(fd)efed gd*e fd+e d,eej eeej fd-e dfgd.e fd/ej!d0fd1ej!fd2e dfgd3e fd4ej"dfd5ej"j#dfd6ej"j$dfd7edfd8edfge d9efd-e dfge d9ejfd-e dfgd*ejfd+e d,eej eeej fd-e dfgd: Z%d;S)`_. Scaml is Haml for Scala. .. versionadded:: 1.4 Scamlscamlz*.scamlz text/x-scaml.rrrr(rrrrrr1rrrrr-rrrrrscaml-comment-block(-@\s*)(import)?(rrrrrrrrrrrrrrrrrr*rrr,rrrrrrrr r1rrrr(rrrrrrN)&r9r:r;r<r=r>r?r@rArBrDrrrr rrrrrrrrrHrr rrrFr rr rrIrrrrJr5r5r5r6rs                  rc@seZdZdZdZddgZddgZddgZej Z d Z d e fd e fgd ejd fdejd fgdedfde deeeedfedgedde dejdfde de deeejedfde deeddfde deejddfde deeeeedfde deeeedfd e deejd!dfd"ejd fd#e d$fg edd%e d&eefd'e d(eefd)e d*fd+ed,fd-efed$gd.e fd/e d0eej eeej fd1e dfgd2e fd3ej!d4fd"ej!fd5e dfgd6e fd7ej"dfd8ej"j#dfd9ej"j$dfd:edfd;edfge d<efd1e dfge d<ejfd1e dfgd.ejfd/e d0eej eeej fd1e dfgd= Z%d>S)?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(rrrrrr1rrrr-rrrrrrrrrrr,z\|rrrrrrrrrrrrrrr*rrrrrrrrrrrN)&r9r:r;r<r=r>r?r@rArBrDrrrr rrrrrrrrrr rrrFr rrHr rrIrrrrJr5r5r5r6rs                 r)'r<rApygments.lexerrrrrrrpygments.tokenrr r r r r r pygments.utilrrpygments.lexers.javascriptrpygments.lexers.jvmrpygments.lexers.cssrrrpygments.lexers.rubyr__all__rrrrrrr JadeLexerr5r5r5r6s$ $   MX+%opk