|eidZddlmZmZmZmZmZddlmZm Z m Z m Z m Z m Z mZmZmZgdZGddeZGddeZGd d eZGd d eZGd deZy)z pygments.lexers.data ~~~~~~~~~~~~~~~~~~~~ Lexers for data file format. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. )LexerExtendedRegexLexer LexerContextincludebygroups) CommentErrorKeywordLiteralNameNumber PunctuationString Whitespace) YamlLexer JsonLexerJsonBareObjectLexer JsonLdLexerc"eZdZdZfdZxZS)YamlLexerContextz'Indentation context for the YAML lexer.c\t||i|g|_d|_d|_d|_yNr)super__init__ indent_stackindent next_indentblock_scalar_indent)selfargskwds __class__s 6/usr/lib/python3/dist-packages/pygments/lexers/data.pyrzYamlLexerContext.__init__s4 $'$' #' )__name__ __module__ __qualname____doc__r __classcell__r#s@r$rrs1((r%rc eZdZdZdZdZdgZddgZdgZdZ d Z dbd Z dbd Z d Z d ZdZdZiddefdefdej&fde ej*dfde ej*dfde ej,dfde eddfgddefdej&fded fgdd!eeedfgdd"eeej4eej4dfgd#d$e ed fd%e efd&e ej8fd'e ed(fgdd)e ed(fd*efd+eej*e ed,fed-ed.ed/d0e ej<d1fgd-d2ej4fd3ej4fd4ej>fd5ej<fgd.d6e ej8d,fd7ej8d8fgd/d9ej8d:fd;ej8dfd?e d@fgdAd*efdefdej&fdBej8fed-ed/dCe ej<dDfgd:edAdEej8d(fgdedOdRe jDfdSe fd=e d(fgd@edOdTe fdUe jDfdVe fdWe d(fgdIefdefdXe ej,dYfdJeed(fgdZe ed(fd[ed(fdQefded\fd*e#jHjJfd]e#jHjJfgd^e ed(fd[ed(fdPefdQefdefd*ej<fd_ej<fgd`Z&dcfda Z'xZ(S)drzg Lexer for YAML, a human-friendly data serialization language. .. versionadded:: 0.11 YAMLzhttp://yaml.org/yamlz*.yamlz*.ymlz text/x-yamlcfd}|S)zDo not produce empty tokens.c3K|j}|sy|j|f|j|_ywN)groupstartendposlexermatchcontexttext token_classs r$callbackz%YamlLexer.something..callback.s8;;=D++-d2 2))+GKs?Ar;r<s` r$ somethingzYamlLexer.something,s & r%cfd}|S)zReset the indentation levels.c3K|j}g|_d|_d|_d|_|j |f|j |_ywr)r2rrrrr3r4r5r6s r$r<z(YamlLexer.reset_indent..callback8sQ;;=D#%G GN"#G *.G '++-d2 2))+GKsAAr=r>s` r$ reset_indentzYamlLexer.reset_indent6s &r%cfd}|S)z"Save a possible indentation level.c3K|j}d}rt||_|j|jkr|j|jkr9|jj |_|j|jkr9|j|jkDr=||jd}|d|j}n|xjt|z c_|r|j |f|r+|j t|zj|f|j|_ yw)N) r2lenrrrpopr3r r4r5)r7r8r9r:extrar3r;s r$r<z'YamlLexer.save_indent..callbackDs;;=DE&)$i#&&7!-->)0)=)=)A)A)C"-->**W^^; $W^^_ 5#OW^^4##s4y0#kkm[$66kkmCI-{/@/@%GG))+GKs BEB0Er=)r;r3r<s`` r$ save_indentzYamlLexer.save_indentBs &$r%cfd}|S)z+Set the previously saved indentation level.c3`K|j}|j|jkr6|jj |j|j|_s|xjt |z c_|j |f|j|_ywr1) r2rrrappendrFr3r4r5)r7r8r9r:implicitr;s r$r<z&YamlLexer.set_indent..callbackZs;;=D~~ 3 33$$++GNN;!(!4!4##s4y0#++-d2 2))+GKsB+B.r=)r;rMr<s`` r$ set_indentzYamlLexer.set_indentXs &r%cfd}|S)z5Set an explicit indentation level for a block scalar.c3K|j}d|_|sy|jd}|r+t|jd}t |}||z|_|r+|j |f|j |_yyw)Nr)r2rmaxrintr3r4r5)r7r8r9r: incrementcurrent_indentr;s r$r<z3YamlLexer.set_block_scalar_indent..callbackgs~;;=D*.G ' AI!$W^^Q!7 N .s` r$set_block_scalar_indentz!YamlLexer.set_block_scalar_indentes *r%cfd}|S)z(Process an empty line in a block scalar.c3zK|j}|jt||jkr|rk|j|fnU|d|j}||jd}|j|f|j|jz|f|j |_ywr1)r2rrFr3r4r5)r7r8r9r: indentationcontentcontent_token_classindent_token_classs r$r<z9YamlLexer.parse_block_scalar_empty_line..callbackxs;;=D++3I!.callbacks;;=D**2t9GNNA 66MM%%'MM%%'.1$i+t9w:::MM%%'MM%%'kkm[$66#iik sDDr=r>s` r$parse_block_scalar_indentz#YamlLexer.parse_block_scalar_indents * r%cfd}|S)z-Process indentation spaces in a plain scalar.c3"K|j}t||jkr5|jj |jj y|r+|j |f|j |_yywr1)r2rFrrarGr3r4r5r6s r$r<z5YamlLexer.parse_plain_scalar_indent..callbacksm;;=D4yGNN* !!# !!#kkm[$66#iik sB Br=r>s` r$parse_plain_scalar_indentz#YamlLexer.parse_plain_scalar_indents *r%rootz [ ]+(?=#|$)z\n+z#[^\n]*z^%YAML(?=[ ]|$)zyaml-directivez^%TAG(?=[ ]|$)z tag-directivez^(?:---|\.\.\.)(?=[ ]|$) block-linez [ ]*(?!\s|$)T)r3)rgrYz ignored-linez\nz#pop:2z([ ]+)([0-9]+\.[0-9]+)z;([ ]+)(!|![\w-]*!)([ ]+)(!|!?[\w;/?:@&=+$,.!~*\'()\[\]%-]+)rYz[ ]*$z[ ]+(?=[?:-](?:[ ]|$))z[?:-](?=[ ]|$)z[ ]*z#popz [ ]*(?=#|$)z[ ]+z([^#,?\[\]{}"'\n]+)(:)(?=[ ]|$))rM descriptorsz block-nodesz flow-nodesz'(?=[^\s?:,\[\]{}#&*!|>\'"%@`-]|[?:-]\S)plain-scalar-in-block-contextz!!<[\w#;/?:@&=+$,.!~*\'()\[\]%-]+>z+!(?:[\w-]+!)?[\w#;/?:@&=+$,.!~*\'()\[\]%-]*z&[\w-]+z\*[\w-]+z :(?=[ ]|$)z[|>])block-scalar-contentblock-scalar-headerz\[z flow-sequencez\{z flow-mappingz\'zsingle-quoted-scalarz\"zdouble-quoted-scalarzflow-collectionz[?:,]z(?=[^\s?:,\[\]{}#&*!|>\'"%@`])plain-scalar-in-flow-contextz\]z([^,:?\[\]{}"'\n]+)(:)(?=[ ]|$)z\}rjz^[ ]+$z^[ ]*z[\S\t ]+rkz([1-9])?[+-]?(?=[ ]|$)z[+-]?([1-9])?(?=[ ]|$)zquoted-scalar-whitespacesz^[ ]+z[ ]+$z\'\'z[^\s\']+z\\[0abt\tn\nvfre "\\N_LP]z5\\(?:x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})z [^\s"\\]+"z^(?=---|\.\.\.)z#pop:3z[ ]*(?=:[ ]|:$)z [ ]+(?=#)&plain-scalar-in-block-context-new-linez(?::(?!\s)|[^\s:])+z[ ]*(?=[,:?\[\]{}])z[^\s,:?\[\]{}]+)rnrirlc@| t|d}t| ||Sr`)rrget_tokens_unprocessed)r r:r9r#s r$rpz YamlLexer.get_tokens_unprocesseds& ?&tQ/Gw-dG< ; AEN : j',, GLL I   OE`  y,h 7 & J(? @  ;+@+@ A B k*-v 6  aEx  Yz2F ; j ! 3 dhh ; F G I M " M " L ! 7 t}} % , . yEb  17<< @/07  > $ $-- (  cE|  J{'<'  }EN  K))? ; K))> : F2 3 F2 3  OEf  j ! Z  ( {,, - M " L ! . t}} % + - gEN  % & K))6 2  OE^  3 dhh , . % & K))6 2 _Et  J   *:t}} E G0< = $-- ( ! uEN  & $[%:%: ;  ' $[%:%: ;   OEf $ z " z " Z dmm $& gE|  / 0 fmm $ & ! FF # ! }ET  / 0 )6 2 E ]] 6 " 66 " ! UEv # Z 4>>!:H E 0    c #Kd}d}d}d}d}d}d}d} d} d} d} d} d}g}t|D]\\}}|rh|r||jvr |dz}|sPd}nMd}d}nH|r |dk(rd}n>d}n;|dk(rd}n3|dk(r.|j|tj|||dzfd}d}d}q|r?||j vr|r|j|t |||fn|t |||fd}n|r+||jvr|tj|||fd}nf|rZ||jvr||jvrd}|r|tj|||fn|tj|||fd}d}n | r!||jvrM|t |||fd} n| rJ|d k7rg|r&|j|t"j$|||fn|t"j$|||fd} n| r[|d k(rd} nQ| rOd} |d k(rH|r)|j|t"j&|||dzfn|t"j&|||dzfd} | rfnt:) enumerate hexadecimalsrLrDouble whitespacesr constantsr r}integersfloatsr FloatInteger punctuationsrrrv Multilineclearr r rw)r r: in_string in_escapein_unicode_escape in_whitespace in_constant in_numberin_floatin_punctuationin_comment_singlein_comment_multilineexpecting_second_comment_openerexpecting_second_comment_closerr3queuestop character_start_token_texts r$rpz JsonLexer.get_tokens_unprocessedsK     !$*/'*/'((j .OD)$ D$5$55)Q.)0(-I,-)$)  C',-)$) $& $I#%LL%U4!88L!MN %I %I()% 0 00LL%T%5E!FGT%-=== % .W--tE$/???#  -$++-#HtE$/???eD1AAA!    1 11[$uT*:::!&#$LL%eD9I!JKeD1AAA$)!&#6:346;3 C' !LL%1B1BDtVWxDX)YZ"'):):DtaxQ&Q&Q&'Q"('Q&Q$CQ&Q&Q&Q&"Q&$Q&N)r&r'r(r)rqrrrsrtrusetrrrrrrrpr=r%r$rrsh  D C}%GAIEI=!H [FO$I/0Lwrsn$$$ K(|(T="T=n G-G-T)"/*)/*r%