i7idZddlZddlmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZddlmZgdZGddeZGd d eZGd d eZy) z pygments.lexers.make ~~~~~~~~~~~~~~~~~~~~ Lexers for Makefiles and similar. :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N)Lexer RegexLexerincludebygroups do_insertionsusing)TextCommentOperatorKeywordNameString Punctuation Whitespace) BashLexer) MakefileLexerBaseMakefileLexer CMakeLexerceZdZdZdZgdZgdZdgZdZdZ e jdZ e jd Z d Zd Zy ) rz Lexer for BSD and GNU make extensions (lenient enough to handle both in the same file even). *Rewritten in Pygments 0.10.* Makefile)makemakefilemfbsdmake)z*.makz*.mkrrz Makefile.* GNUmakefileztext/x-makefile-https://en.wikipedia.org/wiki/Make_(software)z^(?:\.\s*(include|undef|error|warning|if|else|elif|endif|for|endfor)|\s*(ifeq|ifneq|ifdef|ifndef|else|endif|-?include|define|endef|:|vpath)|\s*(if|else|endif))(?=\s)z^\s*@?#c#Kg}|jd}d}tdi|j}d}|D]}|jj |s|rN|j t |dtj|fgf|jjd}n|jj |r%|j t |dt|fgf||z }t||j|Ed{y7w)NT)keependsrFr\) splitlinesroptions r_specialmatchappendlenr Preprocstripendswith r_commentrget_tokens_unprocessed)selftextinslinesdonelex backslashflaglines ]/mnt/ssd/data/python-lab/ChefSystem/venv/lib/python3.12/site-packages/pygments/lexers/make.pyr,z$MakefileLexer.get_tokens_unprocessed/s./$,,/  D~~##D)] CIGOOT(B'CDE $ 5 5d ; %%d+ CIGT(:';<=  !c&@&@&FGGGsDD D D c2tjd|ryy)Nz \$\([A-Z_]+\)g?)research)r.s r5 analyse_textzMakefileLexer.analyse_text?s 99%t , -N)__name__ __module__ __qualname____doc__namealiases filenames mimetypesurl version_addedr7compiler$r+r,r9r!r:r5rrs\ D3GVI"#I 9CM  %&I :&IH r:rceZdZdZdZdgZgZgZdZdZ de e fde fde fd efd ee e d fd e fd eej"e ee e e fdej(fdej*fdeej,ee dfde dfg defdej"fde fde dfde dfgdej"fdedfde fgdefd edfdefde dfdefde dfd efgd!Zy")#rz8 Lexer for simple Makefiles (no preprocessing). z Base Makefilebasemakerz0.10z^(?:[\t ]+.*\n|\n)+z \$[<@$+%?|*]z\s+z#.*?\nz&((?:un)?export)(\s+)(?=[\w${}\t -]+\n)exportz(?:un)?export\s+z7([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'z([^\n:]+)(:+)([ \t]*) block-headerz\$\( expansionz [^\w$().-]+z[\w.-]+z\$\(#push\)#popz [\w${}-]+\nz[,|]z\\\nz [a-zA-Z_]+.)rootrJrHrIN)r;r<r=r>r?r@rArBrCrDrrr rr rr Variabler rDoubleSingleFunctionr rtokensr!r:r5rrEs DlGII 9CM $U9%5 6 g & Z  6 gz *H 6 ' * G  z8Zi " # )&-- 8 (&-- 8 %x x(5  g{ +/ 4T "  ' G  GW % GV $  4== ) D& ! Z  k "  ( dO g{ + D ! J ' 4L M/Fr:rceZdZdZdZdZdgZddgZdgZdZ d e e je ed fed ed gd edfdedfde ee j"efde ee j"efde ee j"efdej&fdefdej(fdefde fed ed g gdefgde fdefdefgdZdZy) rz Lexer for CMake files. CMakez https://cmake.org/documentation/cmakez*.cmakezCMakeLists.txtz text/x-cmakez1.2z\b(\w+)([ \t]*)(\()argskeywordswsrKrLrMrNz(\$\{)(.+?)(\})z(\$ENV\{)(.+?)(\})z (\$<)(.+?)(>)z (?s)".*?"z\\\S+z'\[(?P=*)\[[\w\W]*?\](?P=level)\]z [^)$"# \t\n]+rOz\\b(WIN32|UNIX|APPLE|CYGWIN|BORLAND|MINGW|MSVC|MSVC_IDE|MSVC60|MSVC70|MSVC71|MSVC80|MSVC90)\bz[ \t]+z(#\[(?P=*)\[[\w\W]*?\](?P=level)\]z#.*\n)rQrZstringr[r\cxd}tj||tjtjzryy)Nzu^[ \t]*CMAKE_MINIMUM_REQUIRED[ \t]*\([ \t]*VERSION[ \t]*\d+(\.\d+)*[ \t]*([ \t]FATAL_ERROR)?[ \t]*\)[ \t]*(#[^\n]*)?$)flagsg?g)r7r8 MULTILINE IGNORECASE)r.exps r5r9zCMakeLexer.analyse_texts1  99S$bllR]]&B Cr:N)r;r<r=r>r?rCr@rArBrDrr Builtinrrrr rRrrS Multiliner r rVr9r!r:r5rrsF D ,CiG,-I IM<$XdllJ.9&;r7pygments.lexerrrrrrrpygments.tokenr r r r r rrrpygments.lexers.shellr__all__rrrr!r:r5risX + >,E,^; ;|QQr: