o ax@sdZddlZddlmZmZmZmZmZddlm Z m Z m Z m Z m Z mZmZmZmZmZddgZGdddeZGdddeZdS) z pygments.lexers.haxe ~~~~~~~~~~~~~~~~~~~~ Lexers for Haxe and related stuff. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)ExtendedRegexLexer RegexLexerincludebygroupsdefault) TextCommentOperatorKeywordNameStringNumber PunctuationGeneric Whitespace HaxeLexer HxmlLexerc@s8eZdZdZdZgdZddgZgdZdZdZ d e d Z d Z d ed e Z e je jBZgZddZidededdejdfdejdfdejdfdejfdejdfdejdfdejdfd ejd!fd"ed#fg dd$efd%ejfd&ejfd'efgd(d)ejd*fd+ejfd,e d ejd-fed.gd.d/ejd0fd1ejfd2ejfgd3d4ejd0fd1ejfd2ejfgd5d6e ejfd7ejd0fgd8ede e jfd9e!d:fe"d0gd;ede e jfdede e jfd9e!d:fe"d0gd?d$efd/ejd@fd4ejdAfe"d0gdBd$efdCej#fdDej#dEfe ej#d0fdFe$j%fdGe$j%fdHe$j%fdIe$j%fdJe dKe$j%fdLe$j&fdMe$j'fd/ejd@fd4ejdAfg dNd$efdOej#d0fe"dPgdQd$efe ej#dRfe"d0gdPd$efdCej#fdDej#dSfe ej#dTfdFe$j%dTfdGe$j%dTfdHe$j%dTfdIe$j%dTfdJe dKe$j%dTfdLe$j&dTfdMe$j'dTfd/ejdUfd4ejdVfg dede"dWgdXeddYe!dZfgid[eddDe!d\fe"d0gd]edd^ejd_fd`e!fe"d0gdeddae j(dbfgdceddde j(d0fe"d0gdeede e j(d0fgdfeddDe j(dgfe"d0gdheddOe j(d0fe"digdjeddOe j(d0fd`e!dgfgd!ede"dkgdleddme)dnfgdede"dogdpededd7e!d0fe e dqfgdreddDe!dsfe"dtgdede"dugdveddwejd_fd`e!fe"d0gdxeddYe!d0fgdyedd7e!d0fgidzededd7e!d0fd{ejfe"d|gd|edd}ejd~fdejdfgdede e j*dfe"dgdedede"d0gdede e j*dfgdeddOe!d0fde!fe e dfgdeddOe!d0fd`e!dfgdeddDe!dfe"d0gdedded0fe ed0fgd#ede"dgdgeddae j(dfde)fdDe!dfdejfdejdfdYe!dfdej+dfdedfdedfdedfdejdfdedfdedfdedfdedfdedfdedfdefdedfdedfded0fde de dfe e dfdFe$j%dfdGe$j%dfdHe$j%dfdIe$j%dfdJe dKe$j%dfdLe$j&dfdMe$j'dfd/ejdfd4ejdfdej,dfde!dfdedde)fe e)dfdedfde)dfde d e-e!e fde!dfdDe!dfe"d0g dededdde!dfdejfdejdfdejdfdejdfd ejdfe"dg ddYe!dZfedgdeddDe!dfe"dgdedd`e!dfe"d0gdeddedfe"d0gidede"dЃgdeddedfgdeddDe!dfgdeddDe!dfgdeddDe!dfgdeddedfe"d0gdede"dۃgdeddedfd7e!d0fgdeddde!d0fe"dgdeddde!d0fd`e!dfgdeddedfe"d0gdedded#fe"d0gdede"dgdedde!d0fe"dgdedde!d0fd`e!dfgdede"dgdedde!d0fgidedd`e!d0fgdeddde!d0fgdedde!d0fgdedde!d0fe"d0gd-ede e d0fgdeddYe!dfe"dgdede e d0fgdedd9e!d-fe"d0gd_edde!fe e dfdYe!dfdDe!dfgdede"d\gdedde!dfde!dfe"d0gdedd7e!d0fde!fde!dfe e dfedzgdedd7e!d0fd`e!dfgddFe$j%d0fdGe$j%d0fdHe$j%d0fdIe$j%d0fdJe dKe$j%d0fdLe$j&d0fdMe$j'd0fd/ejd@fd4ejdAfdej,d0fde)dfed_g dede"dgd edde!d0fd`e!d fgd edde!d fe"d0gid edde!d0fd`e!d fgdeddde!dfe"d0gdeddDe!dfe"dÃgdeddOe!d0fd`e!d_fgdede"dgdeddDe!d0fgdeddOe!d0fgdede edfgdedd`e!dfe"d0gdeddme)dfe"d0gdeddde!dfe"d0gdeddde)d0fgdeddOe!d0fe"dgdeddOe!d0fd`e!dfgd edd!e d"e e d#fd/ejd$fd4ejd%fe"d&gd'eddde!d(fe"d)gd*edd7e!d0fe"d#gedd7e!d0fe"d+gede e d0fd/ejd@fd4ejdAfgedd7e!d0fd`e!d,fgd-Z.d.d/Z/d0S(1rzM For Haxe source code (http://haxe.org/). .. versionadded:: 1.3 Haxe)haxehxslhxz*.hxz*.hxsl)z text/haxez text/x-haxez text/x-hxa (?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\bz _*[A-Z]\w*z(?:_*[a-z]\w*|_+[0-9]\w*|z |_+|\$\w+)z(?:%=|&=|\|=|\^=|\+=|\-=|\*=|/=|<<=|>\s*>\s*=|>\s*>\s*>\s*=|==|!=|<=|>\s*=|&&|\|\||<<|>>>|>\s*>|\.\.\.|<|>|%|&|\||\^|\+|\*|/|\-|=>|=)z(?!)ccs|d}|dkr|j|jddn|dvr(|jr'|jddd|_n |dkr4|jr4|j|dvr>|jd|dvrH|jd |tjd |fV||_ dS) Nif)elseelseifend)rr preproc-expr)error preproc-error#) group preproc_stackappendstackpopstartrPreprocrpos)selfmatchctxprocr.6/usr/lib/python3/dist-packages/pygments/lexers/haxe.pypreproc_callback:s"    zHaxeLexer.preproc_callbackrootspacesmetaz (?:package)\b) semicolonpackagez (?:import)\b)r4importz (?:using)\b)r4usingz(?:extern|private)\bz(?:abstract)\babstractz(?:class|interface)\bclassz (?:enum)\benumz (?:typedef)\btypedefz(?=.)zexpr-statementz\s+z //[^\n\r]*z /\*.*?\*/z(#)(if|elseif|else|end|error)\bstring-single-interpolz\$\{)string-interpol-closeexprz\$\$z\$(?=ident string-single'#popz\\.. string-double"r=z\$z\}r5z\.z import-identr6z\*inr7r )rBr@)rBrDrz\!z\()rBpreproc-parenthesisz\.[0-9]+z[0-9]+[eE][+\-]?[0-9]+z[0-9]+\.[0-9]*[eE][+\-]?[0-9]+z[0-9]+\.[0-9]+z [0-9]+\.(?!z|\.\.)z0x[0-9a-fA-F]+z[0-9]+rGz\)preproc-expr-in-parenthesispreproc-expr-chain)rBrH)rBrIrG)rBrI)rBrIr@)rBrIrD)rB abstract-bodyabstract-relationabstract-opaquetype-param-constraint type-namerJz\{)rB class-bodyrL)rBparenthesis-closetyperKz (?:to|from)rQ,@) meta-body meta-ident meta-colonrV:rUrT)rB meta-callrX)rB meta-call-sepr>rY)rB typedef-bodyrMrNrZ=)rBoptional-semicolonrQ)rB enum-body bracket-openrMrNr]) enum-memberrMr_)rBr4flagfunction-param)rBr4r`)rBrOr^extendsrMrNrbz(?:extends|implements)\br^ bracket-closerOz9(?:static|public|private|override|dynamic|inline|macro)\bz class-memberz(var)\b)rBr\varz (function)\b)rBr\ class-methodfunction-local)rB optional-exprr`raparenthesis-openrMrgr>reraz\?)rBfunction-param-sepassignr`ri)rBra prop-get-set)rBrPprop-get-set-optcommarlrlz((?:default|null|never|dynamic|get|set)\b)rBr\r>)rBrgrTrUrVz(?:\+\+|\-\-|~(?!/)|!|\-))rB expr-chain parenthesisz3(?:static|public|private|override|dynamic|inline)\bz(?:function)\b)rBrnrf)rBrnbracketz(?:true|false|null)\b)rBrnz (?:this)\bz (?:cast)\b)rBrncastz (?:try)\b)rBcatchr>z (?:var)\b)rBrdz (?:new)\b)rBrnnewz (?:switch)\b)rBswitchz(?:if)\b)rBrz(?:do)\b)rBdoz (?:while)\b)rBwhilez (?:for)\b)rBforz(?:untyped|throw)\bz (?:return)\b)rBrgz (?:macro)\b)rBmacroz(?:continue|break)\bz(?:\$\s*[a-z]\b|\$(?!z)))rBdollar)rBrnr<)rBrnrDz#~/(\\\\|\\[^\\]|[^/\\\n])*/[gimsu]*z\[)rBrn array-declrnz (?:\+\+|\-\-))rBr>z(?:in)\b)rBr>ternaryr>z(\.)(z array-accesscallrx)rBrQ)rBr\r8)rBr\ macro-class)rBr\r:)rBr\r;r}rq)rBrP cast-typer>r~rrz (?:catch)\b)r>rarhru)rBdo-whiler>r)rBrorhrv)rBr>rorwr)rBrr\r>rorz (?:else)\brt)rB switch-bodyr^r>rz(?:case|default)\b) case-blockcaser)rBcase-sep case-guardr>r)rBrrrz(?!(?:case|default)\b|\})rs)rBr|rhrQrzz\])rBarray-decl-sepr>r)rBrz)rBarray-access-closer>rrmcolonr4;r\ry)rBrnrcr>rNtype-full-name)rB type-checkr)rBr type-struct)rBrtype-parenthesisrrz->z<(?!=) type-paramr>)rmrQ)rBtype-struct-seprQrr)rBrtype-param-typez!~/(\\\\|\\[^\\]|[^/\\\n])*/[gim]*)rBtype-param-seprr)rBrrM)rBtype-param-constraint-septype-param-constraint-flagrNrr)rBtype-param-constraint-flag-typer)rB#type-param-constraint-flag-type-seprQrro)rBrPr`r>rhrPrd)rBvar-seprjr`rkrrjr`r{)rBcall-sepr>r)rBr|rpz(?!(?:\$\s*[a-z]\b|\$(?!z))))rB bracket-check)rBrr@)rBrrD)rBblockr)rB object-sepr>)rBrr\rnr)rBrr>rident-or-string)rBobject)rrrcCstd|rdSdS)Nz \w+\s*:\s*\wg333333?)rer+)textr.r.r/ analyse_text|s zHaxeLexer.analyse_textN)0__name__ __module__ __qualname____doc__namealiases filenames mimetypeskeywordtypeidr?binopident_no_keywordrDOTALL MULTILINEflagsr#r0rr Namespace DeclarationrrrSingle Multiliner InterpolEscapeDoubler rrr(r FloatHexInteger Decoratorr FunctionConstantRegexrtokensrr.r.r.r/rsp           # ) /  4; D JQ  X    o u |       "( / 5 < A G M SY^dkrx  &, 4<BIOV           !" % & ) * -0     %+39AGMRW]chntz #(-29>DIOW\c  l s            #  + 1 8?DIN T[biov }        .c@seZdZdZdZddgZdgZddeee j fdeee j fd eee fd eee e e fd eee e ejfd eee e ejeejeejeej fd eee e e fdejfgiZdS)rzb Lexer for `haXe build `_ files. .. versionadded:: 1.6 Hxmlhaxemlhxmlz*.hxmlr1z (--)(next)z(-)(prompt|debug|v)zY(--)(neko-source|flash-strict|flash-use-stage|no-opt|no-traces|no-inline|times|no-output)zO(-)(cpp|js|neko|x|as3|swf9?|swf-lib|php|xml|main|lib|D|resource|cp|cmd)( +)(.+)z(-)(swf-version)( +)(\d+)z;(-)(swf-header)( +)(\d+)(:)(\d+)(:)(\d+)(:)([A-Fa-f0-9]{6})zA(--)(js-namespace|php-front|php-lib|remap|gen-hx-classes)( +)(.+)z#.*N)rrrrrrrrrrHeadingr rr r rrrrrr.r.r.r/rs:    )rrpygments.lexerrrrrrpygments.tokenrrr r r r r rrr__all__rrr.r.r.r/s 0r