i7iHdZddlZddlmZddlmZdgZejjZ ejjZ ejjZejjZejj"Zej&Zejj*Zej.Zej2Zej2Zejj8Zej<Zd2dZ GddeZ!Gdd Z"Gd d Z#Gd d Z$GddZ%Gdde%ZGdde%Z&Gdde%Z'Gdde&Z(Gdde(Z)Gdde%ZGdde%Z*GddZ+Gd d!e%Z,Gd"d#e%Z-Gd$d%Z.Gd&d'e.Z/Gd(d)e.Z0Gd*d+e.Z1Gd,d-e.Z2Gd.d/e2Z3Gd0d1Z4y)3z pygments.lexers.robotframework ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lexer for Robot Framework. :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)Lexer)TokenRobotFrameworkLexerch|j}|dzD]}||vs|j|d}|S)N )lowerreplace)stringremovechars g/mnt/ssd/data/python-lab/ChefSystem/venv/lib/python3.12/site-packages/pygments/lexers/robotframework.py normalizer/s> \\^F . 6>^^D"-F. Mc<eZdZdZdZdZdgZddgZdgZdZ d Z d Z y ) rzh For Robot Framework test data. Supports both space and pipe separated plain text formats. RobotFrameworkzhttp://robotframework.orgrobotframeworkz*.robotz *.resourceztext/x-robotframeworkz1.6c Dd|d<d|d<tj|fi|y)NtabsizezUTF-8encoding)r__init__)selfoptionss rrzRobotFrameworkLexer.__init__Ds' %  t'w'rc# Kt}t}d}|jD]V}|j|D]@\}}|j||D]&\}}|s ||t |f|t |z }(BXywNr) RowTokenizerVariableTokenizer splitlinestokenizestrlen)rtext row_tokenizer var_tokenizerindexrowvaluetokens rget_tokens_unprocessedz*RobotFrameworkLexer.get_tokens_unprocessedIs$ )+ ??$ ,C - 6 6s ; , u$1$:$:5%$H,LE5#UCJ66U+, , ,s AB%BN) __name__ __module__ __qualname____doc__nameurlaliases filenames mimetypes version_addedrr*rrrr7s< D %C GL)I()IM( ,rceZdZdZdZy)rc#Kt|d}|jdks|ttfvr||fy|j |||D]\}}|s ||fyw)Nz$@%& identifiersr)VariableSplitterstartCOMMENTERROR _tokenize)rr r)varr(s rr zVariableTokenizer.tokenizeWscv6: 99q=Egu%55%-   NN3> #LE5Ul" #s A A Ac#K|d|j}||f|jdztf|j|jt Ed{dtf|j zVariableTokenizer._tokenize`s #j  nns"F**==84446k 99 v+ }}SYY9 9 9v+ ==!1:>>> 5 :>s7ACCACC0C C CCCN)r+r,r-r r>r5rrrrUs # ?rrc$eZdZdZdZdZdZy)rct|_t|_t }t |j }t}t}|||||||||||||d |_ y)N) settingssettingmetadata variablesvariable testcasestestcasetaskstaskkeywordskeyword userkeywords userkeyword) UnknownTable_table RowSplitter _splitter TestCaseTable SettingTableset_default_template VariableTable KeywordTable_tables)rrSrNrQrWs rrzRowTokenizer.__init__osd"n $!O  > >?!O >$,$,%.I%.I!*I$,(0 K rc#Kd}d}t|jj|D]v\}}t|dz d\}}|j drd}n.|dk(r)|j dr|j ||_d}|j|||||Ed{x|j jy7!w)NFr#Tr*) enumerater^splitdivmod startswith _start_tabler\r>end_row)rr' commentedheadingr&r( separators rr zRowTokenizer.tokenize~s %dnn&:&:3&?@ :LE5%eAgq1 E9$ ! 0 0 5"//6 ~~eUI&/: : : :  :sBCB?"Ccdt|d}|jj|tS)Nrhr )rrdgetr[)rheaderr/s rrmzRowTokenizer._start_tables',||ln55rc#K|r |tfy|r |tfy|r |tfy|jj ||Ed{y7wN)r< SEPARATORHEADINGr\r )rr(r&rorqrps rr>zRowTokenizer._tokenizesH . " " . {{++E59 9 9sAA A AN)r+r,r-rr rmr>r5rrrrms K 6:rrcfeZdZejdZejdZdZdZdZ y)r]z( {2,})z((?:^| +)\|(?: +|$))c#K|jdxr |jxs |j}||Ed{dy7 w)Nz|  )rl_split_from_pipes_split_from_spaces)rr'splitters rrjzRowSplitter.splitsGNN4(CT-C-C/.. C=    !s9AA Ac#^Kd|jj|Ed{y7w)Nr)_space_splitterrj)rr's rr~zRowSplitter._split_from_spacess%''--c222s #-+-c#K|jj|d\}}}||jj|rD|jj|d\}}}|||jj|rD|ywNrf)_pipe_splitterrjsearch)rr'_rqrestcells rr}zRowSplitter._split_from_pipess!0066sA>9d!!((.$($7$7$=$=dA$F !D)TJO!!((. s BB B N) r+r,r-recompilerrrjr~r}r5rrr]r]s2 bjj+ORZZ 78N 3rr]c(eZdZdZdZdZdZdZy) TokenizerNcd|_yr)_indexrs rrzTokenizer.__init__s  rc|j||j}|xjdz c_t|ttr||fg}|Sr)r>r isinstancetyper)rr(values_and_tokenss rr zTokenizer.tokenizesI NN5$++> q 'e 5"'):!; <   rcdt|t|jdz }|j|Sr)minr"_tokensrr(r&s rr>zTokenizer._tokenizes+E3t||,q01||E""rc|jdr|ddj}t|d}|jdk(xr|jt |k(S)N=z$@&r8r)endswithstripr:r;rIr")rr(r?s r _is_assignzTokenizer._is_assignsN >># #2J$$&Eu%8yyA~7#''SZ"77r)r+r,r-rrr r>rr5rrrrsG!#8rrceZdZefZy)CommentN)r+r,r-r<rr5rrrrs jGrrc2eZdZeefZdZdZdZdZ ddZ dZ y)Setting) suitesetupsuiteprecondition suiteteardownsuitepostcondition testsetup tasksetuptestprecondition testteardown taskteardowntestpostcondition testtemplate tasktemplate)libraryresourcerQ) documentationrP forcetags defaulttags testtimeout tasktimeoutNc<tj|||_yrw)rr_template_setter)rtemplate_setters rrzSetting.__init__s4 /rc|dk(r|jr|j||dk(r]t|}||jvrtd|_nY||j vrt |_n;||jvr-tS|jr|jj|Stj|||S)NrfrF)support_assign) rr_keyword_settings KeywordCall_custom_tokenizer_import_settings ImportSetting_other_settingsr=r rr>)rr(r& normalizeds rr>zSetting._tokenizes A:$//  ! !% ( A:"5)JT333)4E)J&t444)6&4#7#77  # #))2259 9""466rrw) r+r,r-SETTINGARGUMENTrrrrrrr>r5rrrrs4!Gm<4O0 7rrceZdZeefZy)rN)r+r,r-IMPORTrrr5rrrrs x GrrceZdZdZdZdZdZy)TestCaseSetting)setup preconditionteardown postconditiontemplater5)rtagstimeoutc|dk(r0tj||dd|}dtf|dd|fdtfgStj|||S)NrrfrrCrD)rr>rF)rr(r&rs rr>zTestCaseSetting._tokenizesX A:$$T52;>D&ME!BK#6f F F  ue44rN)r+r,r-rrrr>r5rrrrs%:O5rrceZdZdZdZy)KeywordSetting)r)r argumentsreturnrrN)r+r,r-rrr5rrrrs %QOrrceZdZeefZdZy)Variablech|dk(r|j|stStj|||Sr)rr=rr>rs rr>zVariable._tokenizes. A:dooe4L""466rN)r+r,r-rFrrr>r5rrrrsx G7rrc"eZdZeefZddZdZy)rcLtj|| |_d|_yr)rr_keyword_found_assigns)rrs rrzKeywordCall.__init__s"4 "00 rc|js,|j|r|xjdz c_tS|jr$tj ||||jz Sd|_t j|tS)NrfT) rrrrFrr>GherkinTokenizerr KEYWORDrs rr>zKeywordCall._tokenizesn""tu'= MMQ MM   &&tUEDMM4IJ J"!**5'::rN)T)r+r,r-rrrrr>r5rrrr s!G ;rrcLeZdZejdej ZdZy)rz^(Given|When|Then|And|But) c|jj|}|s||fgS|j}|d|tf||d|fgSrw)_gherkin_prefixmatchrIGHERKIN)rr(r)rrIs rr zGherkinTokenizer.tokenize"sT$$**51EN# #iiktg&ste(<==rN)r+r,r-rr IGNORECASErr r5rrrrs bjj!> NO>rrceZdZefZy)TemplatedKeywordCallN)r+r,r-rrr5rrrr*s kGrrceZdZdZdZy)ForLoopc<tj|d|_yNF)rr _in_argumentsrs rrzForLoop.__init__0s4 "rcp|jxrtxst}|jdvrd|_|S)N)INzIN RANGET)rrrFupper)rr(r&r)s rr>zForLoop._tokenize4s3""/x96 ;;=. .!%D  rN)r+r,r-rr>r5rrrr.s #rrc6eZdZdZddZdZdZdZdZdZ y) _TableNcJ|j|_||_g|_yrw)_tokenizer_class _tokenizer_prev_tokenizer_prev_values_on_row)rprev_tokenizers rrz_Table.__init__>s"//1-#% rc#K|j||r|j|_|tfn|j ||Ed{|j j |y7 wrw) _continuesrrrFr>rappendrs rr z_Table.tokenizeCsX ??5% ("22DO- ~~eU3 3 3   ''. 4sAA)A'!A)cN|dk(xrtfdjDS)Nz...c3@K|]}j|ywrw) _is_empty).0trs r z$_Table._continues..Ls$&I*+'+nnQ&7&Is)allrrs` rrz_Table._continuesKs3~I#&I/3/G/G&I#I Irc |dvS)N)r\r5rr(s rrz_Table._is_emptyOs  ""rc8|jj|Srw)rr rs rr>z_Table._tokenizeRs''..rc<|j|jyN)r)rrrs rrnz_Table.end_rowUs T__ 5rrw) r+r,r-rrr rrr>rnr5rrrr;s'& /I#/6rrceZdZeZdZy)r[cyrr5rs rrzUnknownTable._continues\rN)r+r,r-rrrr5rrr[r[Ys rr[ceZdZeZy)rbN)r+r,r-rrr5rrrbrb`srrbc$eZdZeZddZdZdZy)r`Nc>tj||||_yrw)rrr)rrrs rrzSettingTable.__init__gsn- /rc|dk(r(t|dk(rt|j|_tj |||S)Nrr)rrrrrr>rs rr>zSettingTable._tokenizeks< A:)E*n<%d&;&;rnr5rrr`r`ds04 Mrr`cXeZdZeZdZdZedZdZ dZ dZ dZ dZ dZd Zd Zy) r_Ncf|js|jr|jdurtStSr)_test_template_default_templaterrrs rrzTestCaseTable._tokenizer_classys-   4#9#9#'#6#6e#C' 'rc>|dkDxrtj|||Sr)rrrs rrzTestCaseTable._continuess qyBV..tUEBBrc|dk(r'|rd|_tj|tS|dk(r_|j |rN|j |r(d|_|j |j|_n|j |_|dk(r |j|rt|_|dk(r|j|r |tfgStj|||S)NrrfF)rrr TC_KW_NAME _is_setting _is_template_setting_classset_test_templater _is_for_looprrrFrr>rs rr>zTestCaseTable._tokenizes A:&*##%..ujA A A:$**51  '&+#"&"5"5d6L6L"M"&"5"5"7 A:$++E2%iDO A:$../FO$ $eU33rcJ|jdxr|jdS)NrCrD)rlrrs rrzTestCaseTable._is_settings!$<)<rrrrrar r5rrr_r_tsP$NN  C4"=0O>AIrr_ceZdZeZeZdZy)rccyrr5rs rrzKeywordTable._is_templaterrN)r+r,r-rrrrrr5rrrcrcs"#NrrccfeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZy)r:cd|_d|_d|_d|_d|_||_d|_ |j||jy#t$rYywxYw)NrF) rErGr&r;rI _identifiers_may_have_internal_variables_split _finalize ValueError)rr r9s rrzVariableSplitter.__init__sf   ',1)  KK  NN    sA A! A!ch|jr|j|jS|jSrw)r+replace_stringrG)rrQs rget_replaced_basez"VariableSplitter.get_replaced_bases*  , ,++DII6 6yyrcx|jd|_dj|jdd|_|jt |jz|_|jrLdj|jdd|_ |xj t |jz c_yy)Nrrrrrf) _variable_charsrEjoinrGr;r"rI _has_list_or_dict_variable_index#_list_and_dict_variable_index_charsr&rs rr-zVariableSplitter._finalizes..q1GGD00267 ::D$8$8 99  0 0 2!I!I!B!OPDJ HHDDDE EH 3rcB|jxr|jddk(S)NrrD)r6rs rr5z1VariableSplitter._has_list_or_dict_variable_indexs*77@  4 4R 8C ? @rcT|j|\}}||_d|_|j|_||dg|_g|_||_|dz }t||dD]5\}}||z } |j ||||k(s$|jr5yy#t$rYywxYw)NrfrAr) _find_variabler; _open_curly_variable_state_stater3r6_stringri StopIteration_scanning_list_variable_index)rr start_index max_indexr&r s rr,zVariableSplitter._splits!%!4!4V!< Y  ** &{ 3S9350 q $VKL%9: KE4 [ E  D%("4+M+M+O !  s-B B'&B'cJ|j|j|jfvSrw)r<"_waiting_list_variable_index_state_list_variable_index_staters rr?z.VariableSplitter._scanning_list_variable_indexs,{{tFF#>>@@ @rc|jd}|dk(r td|j||r|j|d|S|j |d|}|dk(r td||fS)NrBrzNo variable end foundrfzNo variable start found)rfindr. _is_escapedr9_find_start_index)rr max_end_indexr@s rr9zVariableSplitter._find_variables S) B 45 5   FM 2&&vn}'=> >,,VQ F " 67 7M))rc|jd||dz }|dkry|j||r|S|j||dz|S)NrArfrrr)find_start_index_is_okrH)rr r;rIr&s rrHz"VariableSplitter._find_start_indexsQ C,q0 19  " "65 1L%%feAgs;;rcN|||jvxr|j|| Srw)r*rG)rr r&s rrLz#VariableSplitter._start_index_is_oks1e} 1 110  / / 0rc\d}|dkDr$||dz dk(r|dz}| }|dkDr ||dz dk(r|S)NFrrfrr5)rr r&escapeds rrGzVariableSplitter._is_escapedsLaiF57Ot3 QJE!kGaiF57Ot3rcV|jj||dk(ri|j|j|sM|xjdzc_|jdk(r(|j st |j|_yy||jvr|j|_yy)NrBrfr) r3rrGr=r:_is_list_or_dict_variabler>rCr<r*_internal_variable_start_staterr r&s rr;z VariableSplitter._variable_states ##D) 3;t// eD    ! 1$557''"EE %T&& &==DK'rc$|jddvS)Nr)@&)r3rs rrQz*VariableSplitter._is_list_or_dict_variables##A&)33rc|j|_|dk(r8|jj||xjdz c_d|_y|j||y)NrArfT)r;r<r3rr:r+rSs rrRz/VariableSplitter._internal_variable_start_statesS** 3;  ' ' -    ! 04D -  u -rcr|dk7rt|jj||j|_y)NrC)r>r6rrDr<rSs rrCz3VariableSplitter._waiting_list_variable_index_states0 3;  0077=55 rcP|jj||dk(rty)NrD)r6rr>rSs rrDz+VariableSplitter._list_variable_index_state$s( 0077= 3;  rN)r+r,r-rr1r-r5r,r?r9rHrLrGr;rQrRrCrDr5rrr:r:sP  F@$@ *<0 >4.6  rr:)r)5r.rpygments.lexerrpygments.tokenr__all__GenericHeadingryKeyword NamespacerNamer SubheadingrFunctionrStringrrrHrr< PunctuationrxrFEmphrErrorr=rrrrr]rrrrrrrrrrr[rbr`r_rcr:r5rrrhs0 ! --   -- ! !    ]] % % **   << ::   --       --   ,%,<??0,:,:^0880i7i7<!I! 5g 5R_R 7y7;);$>>9 i 66<6 F  M6 M 0IF0If=v v r