Ë D gº.^¶ãó¾—dZddlZddlmZddlmZmZmZmZmZm Z ddl m Z ddl m Z mZmZmZmZmZmZmZmZgd¢ZGd„d e«ZGd „d e«ZGd „d e«Zy)zå pygments.lexers.textedit ~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for languages related to text processing. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. éN)Úbisect)Ú RegexLexerÚbygroupsÚdefaultÚincludeÚthisÚusing)Ú PythonLexer) ÚCommentÚKeywordÚNameÚNumberÚOperatorÚ PunctuationÚStringÚTextÚ Whitespace)ÚAwkLexerÚSedLexerÚVimLexercó¾—eZdZdZdZgd¢ZdgZdgZdefde jfge d«d e jd fd ed fed «gd ed fgdedfe d«dedfdedfdefdedfdej$dfdej&fdej*fdej,fdej0fdej2fdej4fde j6fde jfgdœZy)rz5 For Awk scripts. .. versionadded:: 1.5 ÚAwk)ÚawkÚgawkÚmawkÚnawkz*.awkzapplication/x-awkú\s+ú#.*$Úcommentsandwhitespacez(/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/\Bú#popz(?=/))r Úbadregexz\nz ^(?=\s|/)Úslashstartsregexz3\+\+|--|\|\||&&|in\b|\$|!?~|(\*\*|[-<>+*%\^/!=|])=?z[{(\[;,]z[})\].]z3(break|continue|do|while|exit|for|if|else|return)\bz function\bzÄ(atan2|cos|exp|int|log|rand|sin|sqrt|srand|gensub|gsub|index|length|match|split|sprintf|sub|substr|tolower|toupper|close|fflush|getline|next|nextfile|print|printf|strftime|systime|delete|system)\bz‹(ARGC|ARGIND|ARGV|BEGIN|CONVFMT|ENVIRON|END|ERRNO|FIELDWIDTHS|FILENAME|FNR|FS|IGNORECASE|NF|NR|OFMT|OFS|ORFS|RLENGTH|RS|RSTART|RT|SUBSEP)\bz [$a-zA-Z_]\w*z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+ú[0-9]+z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*')rr"r!ÚrootN)Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚnameÚaliasesÚ filenamesÚ mimetypesrr ÚSinglerrÚRegexrrrr Ú DeclarationÚReservedr ÚBuiltinÚOtherrÚFloatÚHexÚIntegerÚDoubleÚtokens©óú=/usr/lib/python3.12/site-packages/pygments/lexers/textedit.pyrrsY„ñð €DÚ-€GØ� €IØ$Ð%€Ið�TˆNØ �g—n‘nÐ %ð" ñ Ð+Ó ,ðØ—L‘L &ð *à �tÐ1Ð 2Ù �F‹Oð  ð�D˜&Ð !ð ð˜4Ð!3Ð 4Ù Ð+Ó ,ð(Ø)1Ð3Eð Gà ˜+Ð'9Ð :Ø ˜Ð %ðØ"Ð$6ð 8à ˜G×/Ñ/Ð1CÐ Dð!ð#*×"2Ñ"2ð 4ð$à%)§\¡\ð 3ð˜tŸz™zÐ *Ø 5°v·|±|Ð DØ  § ¡ Ð +Ø ˜Ÿ™Ð 'Ø (¨&¯-©-Ð 8Ø (¨&¯-©-Ð 8ð- ñ'�Fr9rcó:—eZdZdZdZgd¢ZddgZdgZejZ dZ dd e fd e jfd ej fd efd efdefdeeej«fdeeej,«fdeeej «fde zdzeeej.e«fde zdzeedej.e«fde zdze zdzeeeejeeje«fde zdze zdzeeeej.eejee«fg iZy)rz% Lexer for Sed script files. ÚSed)ÚsedÚgsedÚssedz*.sedz *.[gs]sedz text/x-sedz.((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)r$rrr#z\$z[{};,!]z[dDFgGhHlnNpPqQxz=]z([berRtTvwW:])([^;\n]*)z"([aci])((?:.*?\\\n)*(?:.*?[^\\]$))z([qQ])([0-9]*)z(/)z(\\(.))z(\2)Nz(y)(.)z(s)(.)z(\2)((?:[gpeIiMm]|[0-9])*))r%r&r'r(r)r*r+r,ÚreÚ MULTILINEÚflagsÚ_inside_delimsrr r-rr5rrr rrr6r.r7r8r9r:rrLsq„ñð €DÚ%€Gؘ+Ð&€IØ�€IØ �L‰L€EðG€Nð Ø �ZÐ Ø �g—n‘nÐ %Ø ˜Ÿ™Ð 'Ø �HÐ Ø ˜Ð %Ø # WÐ -Ø '©°'¸6¿=¹=Ó)IÐ JØ 2±H¸WÀfÇmÁmÓ4TÐ UØ ¡¨°&·.±.Ó AÐ BØ �nÑ $ vÑ -©x¸ ÀVÇ\Á\ÐS^Ó/_Ð `Ø ˜.Ñ (¨7Ñ 2Ù �k 4¨¯©°{Ó Cð Eà ˜Ñ '¨'Ñ 1°NÑ BÀWÑ LÙ �g˜{¨F¯M©M¸;ÈÏ É ÐWbÓ cð eà ˜Ñ '¨'Ñ 1°NÑ BÐEbÑ bÙ �g˜{¨F¯L©L¸+ÀvÇ}Á}ÐVaØóð ð ð�Fr9rcóª—eZdZdZdZdgZgd¢ZdgZejZ dZ dde zd ze e e«eeeeee e«e«fde zd ze e e«eee e««fd efd efd ej*fdej,fdej.fdefdefdej2fdefdefdefdej8fdej:fdefgiZd„Zd„Z d„Z!y)rzA Lexer for VimL script files. .. versionadded:: 0.8 ÚVimLÚvim) z*.vimz.vimrcz.exrcz.gvimrcÚ_vimrcÚ_exrcÚ_gvimrcÚvimrcÚgvimrcz text/x-vimzpy(?:t(?:h(?:o(?:n)?)?)?)?r$z ^([ \t:]*)(z()([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\6)z )([ \t])(.*)z^\s*".*z[ \t]+z!/[^/\\\n]*(?:\\[\s\S][^/\\\n]*)*/z!"[^"\\\n]*(?:\\[\s\S][^"\\\n]*)*"z'[^\n']*(?:''[^\n']*)*'z(?<=\s)"[^\-:.%#=*].*z-?\d+z #[0-9a-f]{6}z^:z [()<>+=!|,~-]z7\b(let|if|else|endif|elseif|fun|function|endfunction)\bz+\b(NONE|bold|italic|underline|dark|light)\bz\b\w+\bÚ.c ón—ddlm}m}m}||_||_||_tj|fi|¤Žy)Nr)ÚautoÚcommandÚoption) Úpygments.lexers._vim_builtinsrNrOrPÚ_cmdÚ_optÚ_autrÚ__init__)ÚselfÚoptionsrNrOrPs r:rUzVimLexer.__init__œs0€ßGÑG؈Œ ؈Œ ؈Œ ä×јDÑ, GÓ,r9có,—t||f«}|dkDr>||dz d|dt||dz d«k(r||dz ddt|«|k(ry|t|«kr6||d|dt||d«k(xr||ddt|«|k(Sy)a It's kind of difficult to decide if something might be a keyword in VimL because it allows you to abbreviate them. In fact, 'ab[breviate]' is a good example. :ab, :abbre, or :abbreviate are valid ways to call it so rather than making really awful regexps like:: \bab(?:b(?:r(?:e(?:v(?:i(?:a(?:t(?:e)?)?)?)?)?)?)?)?\b we match `\b\w+\b` and then call is_in() on those tokens. See `scripts/get_vimkw.py` for how the lists are extracted. réNTF)rÚlen)rVÚwÚmappingÚps r:Úis_inzVimLexer.is_in¤sÁ€ô �7˜Q˜DÓ !ˆØ ˆqŠ5Ø�q˜‘s‰|˜A‰ !Ð$9¤S¨°°1±©°a©Ó%9Ð":Ò:Ø�q˜‘s‰|˜A‰˜w¤ A£Ð'¨1Ò,ØØ Œs�7‹|Ò Ø˜1‘:˜a‘= AÐ&9¤s¨7°1©:°a©=Ó'9Ð$:Ñ:ò,ؘ‘ ˜1‘ ˜gœs 1›vÐ&¨!Ñ+ð ,àr9c#ó€K—tj||«D]¡\}}}|tjur‚|j ||j «r |t |f–—ŒA|j ||j«s|j ||j«r|tj|f–—Œ�|t|f–—Œ›|||f–—Œ£y­w)N) rÚget_tokens_unprocessedr r2r^rRr rSrTr1r)rVÚtextÚindexÚtokenÚvalues r:r`zVimLexer.get_tokens_unprocessed»s¢èø€ô ×1Ñ1°$¸Ö=ñ ˆE�5˜%àœŸ ™ Ñ"Ø—:‘:˜e T§Y¡YÔ/ؤ¨%Ð/Ó/Ø—Z‘Z  t§y¡yÔ1ØŸ ™  5¨$¯)©)Ô4ؤ§¡¨uÐ4Ó4ठuÐ,Ó,à˜U EÐ)Ó)ñ>ùs‚BN)"r%r&r'r(r)r*r+r,r@rArBÚ_pythonrr rr rrr r rr.r6r-rr4rr r1r2r7rUr^r`r8r9r:rrosA„ñð €D؈g€GòB€Ià�€IØ �L‰L€Eà+€Gð Ø ˜gÑ %Ð(SÑ SÙ ‘e˜D“k 7¨D°(¸DÀ$Ù˜KÓ(¨$ó0ð 1ð˜gÑ %¨Ñ 7Ù ‘e˜D“k 7¨D±%¸ Ó2DÓ Eð Gð˜Ð !à ˜Ð à 1°6·<±<Ð @Ø 1°6·=±=Ð AØ '¨¯©Ð 7ð& wÐ /Ø �vÐ Ø ˜fŸj™jÐ )Ø �KÐ Ø ˜{Ð +Ø GØ ð à ;¸T¿\¹\Ð JØ ˜Ÿ™Ð $Ø �4ˆLð3 ð€Fò<-òó.*r9r)r(r@rÚpygments.lexerrrrrrr Úpygments.lexers.pythonr Úpygments.tokenr r r rrrrrrÚ__all__rrrr8r9r:ÚrjsYðñó ÝçN×NÝ.÷*÷*õ*ò /€ô3ˆzô3ôl!ˆzô!ôF[*ˆzõ[*r9