Ñò Žf¯Jc@sµdZddkZyeWn#ej oddklZnXddklZlZl Z l Z l Z ddk l Z lZlZlZlZlZlZlZlZddklZlZlZlZddd d d d d ddg Zd efd„ƒYZd efd„ƒYZdefd„ƒYZd efd„ƒYZdefd„ƒYZ d efd„ƒYZ!defd„ƒYZ"d e"fd„ƒYZ#defd„ƒYZ$dS(s× pygments.lexers.web ~~~~~~~~~~~~~~~~~~~ Lexers for web-related languages and markup. :copyright: Copyright 2006-2009 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. iÿÿÿÿN(tSet(t RegexLexertbygroupstusingtincludetthis( tTexttCommenttOperatortKeywordtNametStringtNumbertOthert Punctuation(t get_bool_optt get_list_opttlooks_like_xmlthtml_doctype_matchest HtmlLexertXmlLexertJavascriptLexertCssLexertPhpLexertActionScriptLexert XsltLexertActionScript3Lexert MxmlLexercBs†eZdZdZddgZdgZdddgZeiZ hde fd e fd e i fd e i fgd 6ed ƒd eidfde d$fde dfgd6de dfgd6de dfed ƒdedfdedfdefdedfdeidfdeifdeifdeifdeifdeifdeifd eifd!eifd"ei fgd#6ZRS(%s% For JavaScript source code. t JavaScripttjst javascripts*.jssapplication/x-javascriptstext/x-javascriptstext/javascripts\s+ss#popt-s\s+s[a-zA-Z0-9_:-]+\s*=tattrs[a-zA-Z0-9_:-]+s/?\s*>s<\s*/\s*script\s*>s.+?(?=<\s*/\s*script\s*>)s<\s*/\s*style\s*>s.+?(?=<\s*/\s*style\s*>)s".*?"s'.*?'s[^\s>]+cCst|ƒodSdS(Ngà?(R(R=((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyR>¼s (sscript-contentR\(s style-contentR\(R$R%R&R'R(R)R*R+t IGNORECASER,R-RR tEntityRRXRWRKRRRR R9R>(((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyR‰s@              cBs¸eZdZdZddddgZddgZdgZeiei Bei BZ hd e i dfd efd efgd 6d e i dfdefdefde ifde ifde ifdeifde ifdeeeeiƒfdefdefdeeeƒdfdeeeeeƒdfdeeeeiƒfdefdeifd eifd!eifd"eifd#efd$eifd%eifd&eid'fgd6d"eidfgd6d"ei dfgd6d&eidfd(eifd)ei!fd*ei"fd+eei"e#e$d,e%ƒei"ƒfd-eei"e#e$d,e%ƒei"ƒfd.eei"eiei"ƒfd/eifgd'6Z&d0„Z'd1„Z(d2„Z)RS(3sR For `PHP `_ source code. For PHP embedded in HTML, use the `HtmlPhpLexer`. Additional options accepted: `startinline` If given and ``True`` the lexer starts highlighting with php code (i.e.: no starting ``>> from pygments.lexers._phpbuiltins import MODULES >>> MODULES.keys() ['PHP Options/Info', 'Zip', 'dba', ...] In fact the names of those modules match the module names from the php documentation. tPHPtphptphp3tphp4tphp5s*.phps *.php[345]s text/x-phps <\?(php)?s[^<]+ts#pops)<<<([a-zA-Z_][a-zA-Z0-9_]*)\n.*?\n\1\;?\ns\s+s#.*?\ns//.*?\ns/\*\*/s /\*\*.*?\*/s /\*.*?\*/s$(->|::)(\s*)([a-zA-Z_][a-zA-Z0-9_]*)s[~!%^&*+=|:.<>/?@-]+s [\[\]{}();,]+s (class)(\s+)t classnames(function)(\s+)(&?)(\s*)t functionnames$(const)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)s(and|E_PARSE|old_function|E_ERROR|or|as|E_WARNING|parent|eval|PHP_OS|break|exit|case|extends|PHP_VERSION|cfunction|FALSE|print|for|require|continue|foreach|require_once|declare|return|default|static|do|switch|die|stdClass|echo|else|TRUE|elseif|var|empty|if|xor|enddeclare|include|virtual|endfor|include_once|while|endforeach|global|__FILE__|endif|list|__LINE__|endswitch|new|__sleep|endwhile|not|array|__wakeup|E_ALL|NULL|final|php_user_filter|interface|implements|public|private|protected|abstract|clone|try|catch|throw|this)\bs(true|false|null)s\$\{\$+[a-zA-Z_][a-zA-Z0-9_]*\}s\$+[a-zA-Z_][a-zA-Z0-9_]*s[a-zA-Z_][a-zA-Z0-9_]*s>[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?s'([^'\\]*(?:\\.[^'\\]*)*)'s`([^`\\]*(?:\\.[^`\\]*)*)`t"tstrings [^{$"\\]+s)\\([nrt\"$]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2})s;\$[a-zA-Z_][a-zA-Z0-9_]*(\[\S+\]|->[a-zA-Z_][a-zA-Z0-9_]*)?s(\{\$\{)(.*?)(\}\})t _startinlines(\{)(\$.*?)(\})s(\$\{)(\S+)(\})s[${\\]+cKsät|dtƒ|_t|ddgƒ|_t|dtƒ|_d|jo|idƒ|_ntƒ|_ |ioUddk l }xB|i ƒD]0\}}||ijo|i i |ƒq˜q˜Wnti||dS(Ntfuncnamehighlightingtdisabledmodulestunknownt startinlineRkiÿÿÿÿ(tMODULES(RtTrueRlRRmtFalseRotpoptsett _functionstpygments.lexers._phpbuiltinsRpt iteritemstupdateRt__init__(tselftoptionsRptkeytvalue((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyRy.s    ccs›dg}|io|idƒnxpti|||ƒD]Y\}}}|tijo,||ijo|ti|fVq:q…n|||fVq:WdS(NR#Rb(RotappendRtget_tokens_unprocessedR R RuR4(RzR=tstacktindexttokenR}((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyRBs   cCsFd}tid|ƒo|d7}nd|jo|d7}n|S(Ngs <\?(?!xml)g333333Ó?s?>gš™™™™™¹?(R+tsearch(R=trv((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyR>Ns  (*R$R%R&R'R(R)R*R+R_R,RHR-RRXR R RR.R/tDocRRR RKRR R3tVariableR tBacktickR8RVR?tEscapetInterpolRRRqR9RyRR>(((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyRÁsr                          c Bs]eZdZeieiBZdZdgZddddddgZ d d d d d ddgZ hde fde i fdeifdedfdeifdeifde idfde ifgd6defdedfdefgd6de fd e id!fd"e idfgd6de fd#edfd$edfd%edfgd!6Zd&„ZRS('s= Generic lexer for XML (eXtensible Markup Language). tXMLtxmls*.xmls*.xsls*.rsss*.xslts*.xsds*.wsdlstext/xmlsapplication/xmls image/svg+xmlsapplication/rss+xmlsapplication/atom+xmlsapplication/xsl+xmlsapplication/xslt+xmls[^<&]+s&\S*?;s\<\!\[CDATA\[.*?\]\]\>ss#popR]s\s+s[a-zA-Z0-9_.:-]+\s*=R^s/?\s*>s".*?"s'.*?'s[^\s>]+cCst|ƒodSdS(Ngà?(R(R=((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyR>‚s (R$R%R&R+RHR,R-R'R(R)R*RR R`RRXRWRKR R9R>(((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyRWs8               c$Bs°eZdZdZdgZddgZeddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'g#ƒZd(„Zd)„Z RS(*s8 A lexer for XSLT. *New in Pygments 0.10.* tXSLTtxslts*.xsls*.xslts apply-importssapply-templatest attributes attribute-sets call-templatetchooseR[tcopyscopy-ofsdecimal-formattelementtfallbacksfor-eachtiftimportRR|tmessagesnamespace-aliastnumbert otherwisetoutputtparamspreserve-spacesprocessing-instructiontsorts strip-spacet stylesheetttemplateR=t transformsvalue-oftvariabletwhens with-paramccsŒx…ti||ƒD]q\}}}tid|ƒ}|tijo2|o+|idƒ|ijo|t|fVq|||fVqWdS(Ns]*)/?>?i( RRR+RFR RWtgrouptEXTRA_KEYWORDSR (RzR=RR‚R}tm((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyRs 0cCs#t|ƒod|jodSdS(Ns¦s( R$R%R&R'R(R)RtR¡RR>(((s7/usr/lib/python2.6/site-packages/pygments/lexers/web.pyR‡s      c BsEeZdZeieiBZdZdgZdgZ ddgZ hde fde i fdeeeeƒeƒfd ed fd eifd eifd e idfde ifgd6defdedfdefgd 6de fde idfde idfgd6de fdedfdedfdedfgd6ZRS(sc For MXML markup. Nested AS3 in