o aɍ@s4dZddlZddlmZmZmZmZmZmZm Z m Z m Z ddl m Z mZmZmZmZmZmZmZmZgdZGdddeZGdd d eZGd d d eZeZGd d d eZGdddeZGdddeZGdddeZGdddeZGdddeZ GdddeZ!GdddeZ"GdddeZ#dS)z pygments.lexers.dsls ~~~~~~~~~~~~~~~~~~~~ Lexers for various domain-specific languages. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) ExtendedRegexLexer RegexLexerbygroupswordsincludedefaultthisusingcombined) TextCommentOperatorKeywordNameStringNumber Punctuation Whitespace) ProtoBufLexer ZeekLexer PuppetLexerRslLexer MscgenLexerVGLLexer AlloyLexerPanLexer CrmshLexer ThriftLexer FlatlineLexer SnowballLexerc@s*eZdZdZdZddgZdgZdefdefde j fd e j fe d d d d e fe d d de jfde jfdee jedfdee jedfdee jedfdefdefdejfdejfdejfdejfdejfdejfdefdeejeefd efgd!ejd"fed"gd!ejd"fed"gd!ed"fed"gd#Zd$S)%rz| Lexer for `Protocol Buffer `_ definition files. .. versionadded:: 1.4 zProtocol Bufferprotobufprotoz*.protoz[ \t]+z[,;{}\[\]()<>]z/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/)importoptionoptionalrequiredrepeatedreservedrpackedctype extensionstomaxrpcreturnsoneofsyntax\bprefixsuffix)int32int64uint32uint64sint32sint64fixed32fixed64sfixed32sfixed64floatdoubleboolstringbytesr4(true|false)\bz(package)(\s+)packagez(message|extend)(\s+)messagez(enum|group|service)(\s+)typez\".*?\"z\'.*?\'z'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z(\-?(inf|nan))\bz0x[0-9a-fA-F]+[LlUu]*z0[0-7]+[LlUu]*z \d+[LlUu]*z[+-=]z([a-zA-Z_][\w.]*)([ \t]*)(=)z[a-zA-Z_][\w.]* [a-zA-Z_]\w*#pop)rootrFrGrHN)__name__ __module__ __qualname____doc__namealiases filenamesrrr Single MultilinerrTypeConstantr Namespace DeclarationrrFloatHexOctIntegerr r AttributerClasstokensr`r`6/usr/lib/python3/dist-packages/pygments/lexers/dsls.pyrsf    #  rc@seZdZdZdZdgZdgZdgZededde j e d d fd e j e d d fd e ejedfde ejedfde eeejeefededdefdefdefg defdefgdefdefdejfgde jfgde j dfde j fgde j dfd e j fgd!ejdfedgd"ejdfedgd#efd$ejfd%ejfed&d'd(ejfed)d'd(ejfed*d'd'd+ej fgd,e!j"fd-e!j#fd.e!j$fgd/ Z%d0S)1rzg For `Thrift `__ interface definitions. .. versionadded:: 2.1 Thriftthriftz*.thriftzapplication/x-thrift whitespacecomments" stringescapedqsz\'sqsz(namespace)(\s+) namespacez*(enum|union|struct|service|exception)(\s+)classzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()keywordsnumbersz[&=]z[:;,{}()<>\[\]]z[a-zA-Z_](\.\w|\w)*\n\s+#.*$z//.*?\n/\*[\w\W]*?\*/z\\([\\nrt"\'])rJz [^\\"\n]+'z [^\\\'\n]+z[a-z*](\.\w|\w)*rIz1(async|oneway|extends|throws|required|optional)\brEz(const|typedef)\b) cpp_namespace cpp_includecpp_type java_package cocoa_prefixcsharp_namespacedelphi_namespace php_namespace py_module perl_packageruby_namespacesmalltalk_categorysmalltalk_prefixxsd_all xsd_optional xsd_nillable xsd_namespace xsd_attrsrr1rD)voidrAbytei16i32i64r@rBbinarymaplistsetslistsenum)eBEGINEND __CLASS____DIR____FILE__ __FUNCTION____LINE__ __METHOD__ __NAMESPACE__abstractaliasandargsasassertbeginbreakcasecatchrkclonecontinuedeclaredefrdeldeletedodynamicelifelseelseifelsifend enddeclareendfor endforeachendif endswitchendwhileensureexceptexecfinallyr?forforeachfunctionglobalgotoif implementsr"ininline instanceof interfaceislambdamodulenativenewnextnilnotorpasspublicprintprivate protectedraiseredorescueretryregisterreturnselfsizeofstaticsuperswitch synchronizedthenrthrow transienttryundefunlessunsigneduntilusevarvirtualvolatilewhenwhilewithxoryieldr2z1[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)z[+-]?0x[0-9A-Fa-f]+z [+-]?[0-9]+) rKrdrergrhrirjrkrlrmN)&rLrMrNrOrPrQrR mimetypesrrDoubler rSrrrWrrXr rrFunctionr rr rTEscaperr^rVrrUReservedrrYrZr\r_r`r`r`rarUs      ' rc@s\eZdZdZdZddgZddgZdZdZd Z e d e d e d e d e de de de de dde j fe dg de fde fdeee fgdefgdejfdejfdeeje ejfgeddddejfged dd!ejfd"eeje eje ejfd#eee e je ee ejfd$eee e e efd%eee eje e jfged&dd!efd'efd(ejfd)eeje e jfgd*ed+fd,ejd-fd.ejfd/efd0efd1efd2ed3ejfed4ej fedej fd5ej!fe d6e d7efg d8efd9efd:ejfd;efgdee e"fd?e fgd@ej#fdAej#fd*edBfdCefgd@ej#fdDejdBfdCejfgdE Z$dFS)GrzQ For `Zeek `_ scripts. .. versionadded:: 2.5 Zeekzeekbroz*.zeekz*.broz [0-9a-fA-F]z(((\d*\.?\d+)|(\d+\.?\d*))([eE][-+]?\d+)?z[A-Za-z0-9][-A-Za-z0-9]*rdre directives attributestypesrlliterals operators punctuationz2((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(?=\s*\() identifiersrnroz(\\)(\n)rpz)@(load-plugin|load-sigs|load|unload)\b.*$z=@(DEBUG|DIR|FILENAME|deprecated|if|ifdef|ifndef|else|endif)\bz(@prefixes)(\s*)((\+?=).*)$)redefprioritylogr$radd_func delete_func expire_func read_expire write_expire create_expirer persistentrotate_interval rotate_sizeencrypt raw_output mergeable error_handler type_column deprecated&r1r2)anyenumrecordrtablevectorrhookeventaddrrAcountr@fileintintervalpatternportrBsubnettimerDzA(opaque)(\s+)(of)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\bzR(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)(\s*)\b(record|enum)\bz<(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)zI(redef)(\s+)(record|enum)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\b)rexportrrrrrrrr fallthroughrrraddrrtimeoutschedulez (print)\bz(global|local|const|option)\bz4(module)(\s+)(([A-Za-z_]\w*)(?:::([A-Za-z_]\w*))*)\brfrBz/(?=.*/)regexz(T|F)\bz \d{1,5}/(udp|tcp|icmp|unknown)\bz(\d{1,3}.){3}(\d{1,3})\bzH\[([0-9a-fA-F]{0,4}:){2,7}([0-9a-fA-F]{0,4})?((\d{1,3}.){3}(\d{1,3}))?\]z0[xX]z+\bz!\s*(day|hr|min|sec|msec|usec)s?\bz(\d+)\bz(\.z)+z[!%*/+<=>~|&^-]z([-+=&|]{2}|[+=!><-]=)z(in|as|is|of)\bz\??\$z [{}()\[\],;.]z[?:]z([a-zA-Z_]\w*)(::)rIz\\.z%-?[0-9]*(\.[0-9]+)?[DTd-gsx]rJ./) rKrdrerrrrlrrrrrBr'N)%rLrMrNrOrPrQrR_hex_float_hrrrrrr r PreprocrrPseudorUr Wordr^rXrWrRegexrVrrZrYr\rrr_r`r`r`rars        rc @seZdZdZdZdgZdgZededededed ed d efd e fgd e e e fde j fgde fde jfgdejfde ejeeefdejfgdejfdejfdejfdejfdejjfdejfgeddddefgdefdefgd Zd!S)"rz_ For `Puppet `__ configuration DSL. .. versionadded:: 1.6 Puppetpuppetz*.pprerlnamesrmrstringsz []{}:(),;[]roz (\s*)(#.*)$z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z(=>|\?|<|>|=|\+|-|/|\*|~|!|\|)z(in|and|or|not)\brIz(\$\S+)(\[)(\S+)(\])z\$\S+z'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?z\d+[eE][+-]?[0-9]+j?z 0[0-7]+j?z0[xX][a-fA-F0-9]+z\d+Lz\d+j?)mabsentalertrauditaugeasbeforercheckrkcomputer configured containedcreate_resourcescritcrondebugrdefinedefined directoryrremergerrr extlookupfailfalser filebucket fqdn_randgeneratehostrr"rinfoinheritsinline_template installedrk5loginlatestlinkloglevelmacauthorization mailaliasmaillistmcxmd5mountmountednagios_commandnagios_contactnagios_contactgroup nagios_hostnagios_hostdependencynagios_hostescalationnagios_hostextinfonagios_hostgroupnagios_servicenagios_servicedependencynagios_serviceescalationnagios_serviceextinfonagios_servicegroupnagios_timeperiodnodenoopnoticenotifyrFpresentpurgedrealizeregsubst resourcesrolerouterrunningr&scheduled_tasksearch selboolean selmoduleservicesha1 shellquotesplitsprintfssh_authorized_keysshkeystagestopped subscribetagtaggedtemplatetidytruer unmounteduser versioncmpvlanwarningyumrepozfszonezpoolz(?i)r1r2z "([^"])*"z '(\\'|[^'])*')rKrerr3rmrlr4N)rLrMrNrOrPrQrRrrrrr rTr r/rr]VariablerrrYr[rZr\Longrrr_r`r`r`rar_sV      rc@seZdZdZdZdgZdgZdgZej ej BZ de dddd e fd e jfd efd efd efdefdeeejeejfdeeejeeee fde jfde jfdefdejfdefdejfdejfdejfdefdefgiZddZdS)rz `RSL `_ is the formal specification language used in RAISE (Rigorous Approach to Industrial Software Engineering) method. .. versionadded:: 2.0 RSLrslz*.rslztext/rslrK)JBoolCharIntNatRealr Unitabsallalwaysrraxiomcardrchannelchaosrk devt_relationdomelemsrrrexistsextendrIrhdhiderrrinds initialiserinterisinlenletlocal ltl_assertionobjectofoutpostprereadrealrngschemeskipstopswaprtheory test_casetltransition_systemrrHunionrrvaluevariablerrwritez~isinz-inflistz-infsetz-listz-setr1r2z(variable|value)\bz--.*?\nz<:.*?:>z \{!.*?!\} /\*.*?\*/z^([ \t]*)([\w]+)([ \t]*)(:[^:])z5(^[ \t]*)([\w]+)([ \t]*)(\([\w\s,]*\))([ \t]*)(is|as)z \b[A-Z]\w*\brEz".*"z\'.\'zq(><|->|-m->|/\\|<=|<<=|<\.|\|\||\|\^\||-~->|-~m->|\\/|>=|>>|\.>|\+\+|-\\|<->|=>|:-|~=|\*\*|<<|>>=|\+>|!!|\|=\||#)z [0-9]+\.[0-9]+([eE][0-9]+)?[fd]?z 0x[0-9a-f]+[0-9]+ror(cCstd|tjdur dSdS)zP Check for the most common text in the beginning of a RSL file. zscheme\s*.*?=\s*class\s*typeNg?)rerxI)textr`r`ra analyse_textszRslLexer.analyse_textN) rLrMrNrOrPrQrRrr MULTILINEDOTALLflagsrrrXr rrrrr rUrVrrr rrYrZr\r_rr`r`r`rarsR       (rc @seZdZdZdZddgZdgZdZdej fde j fd e j fd efd e fd e jfee jfd edfdefedg dedfedeee jee eefdefedgdejfdejfdefgdZdS)rz] For `Mscgen `_ files. .. versionadded:: 1.6 Mscgenmscgenmscz*.mscz(\w+|"(?:\\"|[^"])*")zmsc\bzO(hscale|HSCALE|width|WIDTH|wordwraparcs|WORDWRAPARCS|arcgradient|ARCGRADIENT)\bz)(abox|ABOX|rbox|RBOX|box|BOX|note|NOTE)\bz (\.|-|\|){3}zT(?:-|=|\.|:){2}|<<=>>|<->|<=>|<<>>|<:>|->|=>>|>>|=>|:>|-x|-X|<-|<<=|<<|<=|<:|x-|X-|=z\*z\[attrsz \{|\}|,|;rez\]rJz (\s*)(=)(\s*),z (?://|#).*?\nz/\*(?:.|\n)*?\*/z [ \t\r\n]+)rKrreN)rLrMrNrOrPrQrR_varrrUrPropertyr r/Builtinrrrrr]rrr rSrTr_r`r`r`rarsF    rc @seZdZdZdZdgZdgZejej Bej BZ dde j fdejfdefd ejfd efd efd eeejfd efdefdefdefg iZdS)rz~ For `SampleManager VGL `_ source code. .. versionadded:: 1.6 VGLvglz*.rpfrKz \{[^}]*\}rz(if|then|else|endif|while|do|endwhile|and|or|prompt|object|create|on|line|with|global|routine|value|endroutine|constant|global|set|join|library|compile_option|file|exists|create|copy|delete|enable|windows|name|notprotected)(?! *[=<>.,()])z$(true|false|null|empty|error|locked)z[~^*#!%&\[\]()<>|+=:;,./?-]z"[^"]*"z(\.)([a-z_$][\w$]*)z&[0-9][0-9]*(\.[0-9]+(e[+\-]?[0-9]+)?)?z [a-z_$][\w$]*z[\r\n]+roN)rLrMrNrOrPrQrRrrr IGNORECASErr rTrrVr rrrr]rrr_r`r`r`rar&s,rc@s$eZdZdZdZdgZdgZdgZej ej BZ dZ de fZded fe efed efd ed fgee ed fged ed fe ed fgd ejfd ejfdejfedeeje dfdeeje dfdejfdejfdefdefdefdejfdeee dfdefdefe efdefdejfdefd e fgd!Zd"S)#rzU For `Alloy `_ source code. .. versionadded:: 2.0 Alloyalloyz*.alsz text/x-alloyz[a-zA-Z_][\w\']*z[^\S\n]+z (extends)\brJr\{z--.*?$z//.*?$rz(module|open)(\s+)rz(sig|enum)(\s+)sigz(iden|univ|none)\bz (int|Int)\bz.(this|abstract|extends|set|seq|one|lone|let)\bz"(all|some|no|sum|disj|when|else)\bz'(run|check|for|but|exactly|expect|as)\bz(and|or|implies|iff|in)\bz(fun|pred|fact|assert)(\s+)funz!!|#|&&|\+\+|<<|>>|>=|<=>|<=|\.|->z[-+/*%=<>&!^|~{}\[\]().]z[:,]r"(\\\\|\\[^\\]|[^"\\])*"rn)rrrrKN) rLrMrNrOrPrQrRrrrrriden_rexr text_tuplerrrr r rSrTrrWrXrVrUr/rr\rr_r`r`r`rarHs\   rc @seZdZdZdZdgZdgZeddedfded fed ge d d d d efe dd d d e j fde fde jfdee jeefdefde fdefgde jfde jfdefdefdefgdedfdefde jfdefdefed gd!edfed gd"Zd#S)$rz Lexer for `pan `_ source files. Based on tcsh lexer. .. versionadded:: 2.0 Panpanz*.panbasicz\(parenrcurlydata)rrrrrHbindrvalidfinalr3uniquerrrrrr structure extensible declarationr1r2)4 file_contentsformatindexlengthmatchmatchesreplacesplicer~substr to_lowercase to_uppercaserAerror tracebackr base64_decode base64_encodedigestescapeunescapeappendcreatefirstnlistkeyrmergerprepend is_boolean is_defined is_doubleis_listis_longis_nlistis_null is_number is_property is_resource is_string to_boolean to_doubleto_long to_stringrrr path_exists if_existsrrz#.*z\\[\w\W]z(\b\w+)(\s*)(=)z [\[\]{}()=]+z<<\s*(\'?)\\?(\w+)[\w\W]+?\2;z!(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"z!(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'roz[^=\s\[\]{}()$"\'`\\;#]+z \d+(?= |\Z)z\}rJz:-z\w+z [^}:"\'`$]+:rK\))rKrrrrN)rLrMrNrOrPrQrRrrrrrr rrrrrr rrrSr rr_r`r`r`rarsX     rc@s.eZdZdZdZddgZddgZgZeddd Z ed dd Z ed dd Z ed dd Z ed dd Z eddd ZdZdZdZdZddeeefdeejeefdeeeeefdefe efe efe efdeefejfe ejfe ejfeejfdejfdeeeeefdeeeeejfdefdefgiZdS)rz Lexer for `crmsh `_ configuration files for Pacemaker clusters. .. versionadded:: 2.1 Crmshcrmshpcmkz*.crmshz*.pcmk)rk primitivegrouprmslocation colocationorderfencing_topology rsc_ticket rsc_templateproperty rsc_defaults op_defaults acl_target acl_grouprrtrz (?![\w#$-])rD)paramsmeta operationsopruler utilization)rrdeny)rr)rC not_defined)in_rangedatespecrz*(?:tag|ref|reference|attribute|type|xpath)z(?:lt|gt|lte|gte|eq|ne)z(?:string|version|number)z:(?:Master|Started|Slave|Stopped|start|promote|demote|stop)rKz ^(#.*)(\n)?z!([\w#$-]+)(=)("(?:""|[^"])*"|\S+)z(node)(\s+)([\w#$-]+)(:)z([+-]?([0-9]+|inf)):z(?:%s:)?(%s)(?![\w#$-])z#[a-z]+(?![\w#$-])z(%s)(:)("(?:""|[^"])*"|\S+)z!([\w#$-]+)(?:(:)(%s))?(?![\w#$-])z(\\(?=\n)|[\[\](){}/:@])z\s+|\nN) rLrMrNrOrPrQrRrrelemsubaclbin_relun_opsdate_expacl_modbin_opsval_qualrsc_role_actionrr rrr]rrrrr r/rr_r`r`r`rars^         rc@seZdZdZdZdgZgZdgZdZdZ dZ dd e fd e fd e jfd e jfd e jfdefdejfdejfeeddefee ddejfde ejfe ejfdefg iZdS)rzn Lexer for `Flatline `_ expressions. .. versionadded:: 2.2 Flatlineflatlineztext/x-flatline)r)z!=*+-z>=racosrzall-butzall-with-defaultszall-with-numeric-defaultrasinatanavgz avg-windowz bin-centerz bin-countcallzcategory-countceilcondz cond-windowconscoscoshrz diff-windowdivz ensure-valuezensure-weighted-valueepochz epoch-dayz epoch-fieldsz epoch-hourzepoch-millisecondz epoch-minutez epoch-monthz epoch-secondz epoch-weekdayz epoch-yearexpffieldz field-propfieldsfilterrfloorheadrrintegerlanguager levenshteinzlinear-regressionrlnrlog10rrzmatches?r,maximumrZmeanmedianminminimummissingz missing-countzmissing? missing_countmodmode normalizernth occurrencesr percentilezpercentile-label populationzpopulation-fractionpow preferredz preferred?zquantile-labelrandzrand-intz random-valuezre-quoterrz replace-firstrestroundz row-numberz segment-labelr|sha256sinsinhsqrtsquarezstandard-deviationstandard_deviationstrsubssumz sum-squaresz sum-window sum_squaressummaryz summary-noz summary-strtailtantanhz to-degreesz to-radiansvariance vectorizezweighted-random-valuewindowwinnowzwithin-percentiles?zz-scorez(?!#)[\w!$%*+<=>?/.#-]+rKz[,]+roz -?\d+\.\d+z-?\d+z 0x-?[a-f\d]+rz \\(.|[a-z]+)_ rDz(?<=\()z(\(|\))N)rLrMrNrOrPrQrRr special_formsbuiltins valid_namer rrrYr\rZrrSymbolrrrrrrrr_r`r`r`rars2 rc@sNeZdZdZdZdgZdgZdZddZdd Z d d Z d d Z e ddde jfedgdeefdejfdejdfdefdejfdejfde fe dddejfe dddejdfe ddde jfe dddejfdeefeejeejfd eefe fd!efgd"ed#fe ddded$fedgd%e d&fgd%e d'fgd(Zd,d*d+Zd)S)-rzb Lexer for `Snowball `_ source code. .. versionadded:: 2.2 Snowballsnowballz*.sblz\n\r\t cKs|tj|fi|dSN)_reset_stringescapesr__init__)roptionsr`r`rargszSnowballLexer.__init__cCsd|_d|_dS)Nrr)_start_end)rr`r`rarks z"SnowballLexer._reset_stringescapescsfdd}|S)Nc 3sJ|}|}tdt|jj}tdt|jj}d}}|t|kr|rp|||}||dt j |dfV|ddkr]||dt j |dfV|j n?||dt j |dfV|}|||}||t j |fV|d|jkrd|j d<n |}d}|t|ks+|||_dS) Nz ([^%s]*)(.)rrrrT)startr!rcompilerrrrrrrSstackpoprrpos) lexerrctxsrrBrr do_stringdo_string_firstr`racallbackps4      z'SnowballLexer._string..callbackr`)rrr`rra_stringos zSnowballLexer._stringcCs6|d|_|d|_ttjttjttj|||S)N) r!rrrrrrrr)rrrr`r`ra_stringescapess  zSnowballLexer._stringescapes)rlenofr1rDroot1z[%s]+z\d+rrrBz[()]rqz//.*z)[!*+\-/<=>]=|[-=]>|<[+-]|[$*+\-/<=>?\[\]])rgethexamongrBdecimal backwardmode)r4booleansintegersroutines externals groupingsr)!rrrrhopnonrrrrHrlooprtestrrIunsetatmarkattachrgopastinsertrepeatrtomarkatleastatlimitreversesetmarktolimitsetlimit backwards substring)sizelimitcursormaxintminintz(stringdef\b)([%s]*)([^%s]+)z%(stringescapes\b)([%s]*)(.)([%s]*)(.)z [A-Za-z]\w*rrJ)rrz[^']*'TF)rKrrrBrNcCs|t|||Sr)rrget_tokens_unprocessed)rrcontextr`r`rarsz$SnowballLexer.get_tokens_unprocessed)NN) rLrMrNrOrPrQrR_wsrrrrrr r/rrrr\rrSrr rTrrrrrrr_rr`r`r`rarZsx       1r)$rOrpygments.lexerrrrrrrrr r pygments.tokenr r r rrrrrr__all__rrrBroLexerrrrrrrrrrr`r`r`ras& ,,>iW?1"<DFL