U
    lufz3  ã                   @   s¬   d Z ddlZddlmZmZmZmZmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZ ddddgZG d	d„ deƒZG d
d„ deƒZG dd„ deƒZG dd„ deƒZdS )zè
    pygments.lexers.installers
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for installer/packager DSLs and formats.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚusingÚthisÚdefault)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚPunctuationÚGenericÚNumberÚ
WhitespaceÚ	NSISLexerÚRPMSpecLexerÚSourcesListLexerÚDebianControlLexerc                   @   s\  e Zd ZdZdZdZdddgZddgZd	gZe	j
Zd
eeeƒfdejfdejdfdejdfedƒedƒedƒdejfdejfdefdefgdeeeeejƒfdeejeejƒfdeejeƒfdefdefdefdefdejfgdejfgd ej jfd!ej fd"ej!j"fd#ej!fgdejd$fd%ej#fedƒd&ejfgdejd$fd%ej#fedƒd'ejfgd(œZ$d)S )*r   z6
    For NSIS scripts.

    .. versionadded:: 1.6
    ZNSISzhttp://nsis.sourceforge.net/ZnsisZnsiZnshz*.nsiz*.nshztext/x-nsisz([;#].*)(\n)ú'.*?'ú"Ú
str_doubleú`Ústr_backtickÚmacroÚinterpolÚbasicz\$\{[a-z_|][\w|]*\}z
/[a-z_]\w*ú\s+z[\w.]+z$(\n)(Function)(\s+)([._a-z][.\w]*)\bz#\b([_a-z]\w*)(::)([a-z][a-z0-9]*)\bz\b([_a-z]\w*)(:)z!(\b[ULS]|\B)([!<>=]?=|\<\>?|\>)\Bz[|+-]z\\a­  \b(Abort|Add(?:BrandingImage|Size)|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient)|BrandingText|BringToFront|Call(?:InstDLL)?|(?:Sub)?Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|Shortcut)|Delete(?:INI(?:Sec|Str)|Reg(?:Key|Value))?|DetailPrint|DetailsButtonText|Dir(?:Show|Text|Var|Verify)|(?:Disabled|Enabled)Bitmap|EnableWindow|EnumReg(?:Key|Value)|Exch|Exec(?:Shell|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read(?:Byte)?|Seek|Write(?:Byte)?)?|Find(?:Close|First|Next|Window)|FlushINI|Function(?:End)?|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|FunctionAddress|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Inst(?:ProgressFlags|Type(?:[GS]etText)?)|Int(?:CmpU?|Fmt|Op)|IsWindow|LangString(?:UP)?|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|MessageBox|MiscButtonText|Name|Nop|OutFile|(?:Uninst)?Page(?:Ex(?:End)?)?|PluginDir|Pop|Push|Quit|Read(?:(?:Env|INI|Reg)Str|RegDWORD)|Reboot|(?:Un)?RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:Divider|End|(?:(?:Get|Set)(?:Flags|InstTypes|Size|Text))|Group(?:End)?|In)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress(?:ionLevel|or(?:DictSize)?)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|Error(?:s|Level)|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|ShellVarContext|Silent|StaticBkColor)|Show(?:(?:I|Uni)nstDetails|Window)|Silent(?:Un)?Install|Sleep|SpaceTexts|Str(?:CmpS?|Cpy|Len)|SubSection(?:End)?|Uninstall(?:ButtonText|(?:Sub)?Caption|EXEName|Icon|Text)|UninstPage|Var|VI(?:AddVersionKey|ProductVersion)|WindowIcon|Write(?:INIStr|Reg(:?Bin|DWORD|(?:Expand)?Str)|Uninstaller)|XPStyle)\baÕ  \b(CUR|END|(?:FILE_ATTRIBUTE_)?(?:ARCHIVE|HIDDEN|NORMAL|OFFLINE|READONLY|SYSTEM|TEMPORARY)|HK(CC|CR|CU|DD|LM|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_(?:CONFIG|USER)|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON[1-4]|ICON(?:EXCLAMATION|INFORMATION|QUESTION|STOP)|OK(?:CANCEL)?|RETRYCANCEL|RIGHT|SETFOREGROUND|TOPMOST|USERICON|YESNO(?:CANCEL)?)|SET|SHCTX|SW_(?:HIDE|SHOW(?:MAXIMIZED|MINIMIZED|NORMAL))|admin|all|auto|both|bottom|bzip2|checkbox|colored|current|false|force|hide|highest|if(?:diff|newer)|lastused|leave|left|listonly|lzma|nevershow|none|normal|off|on|pop|push|radiobuttons|right|show|silent|silentlog|smooth|textonly|top|true|try|user|zlib)\bzø\!(addincludedir(?:dir)?|addplugindir|appendfile|cd|define|delfilefile|echo(?:message)?|else|endif|error|execute|if(?:macro)?n?(?:def)?|include|insertmacro|macro(?:end)?|packhdr|search(?:parse|replace)|system|tempfilesymbol|undef|verbose|warning)\bz\$(R?[0-9])as  \$(ADMINTOOLS|APPDATA|CDBURN_AREA|COOKIES|COMMONFILES(?:32|64)|DESKTOP|DOCUMENTS|EXE(?:DIR|FILE|PATH)|FAVORITES|FONTS|HISTORY|HWNDPARENT|INTERNET_CACHE|LOCALAPPDATA|MUSIC|NETHOOD|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES(?:32|64)|QUICKLAUNCH|RECENT|RESOURCES(?:_LOCALIZED)?|SENDTO|SM(?:PROGRAMS|STARTUP)|STARTMENU|SYSDIR|TEMP(?:LATES)?|VIDEOS|WINDIR|\{NSISDIR\})z#\$(CMDLINE|INSTDIR|OUTDIR|LANGUAGE)z\$[a-z_]\w*ú#popz\$(\\[nrt"]|\$)z[^"]+z[^`]+)Úrootr   r   r   r   r   N)%Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚreÚ
IGNORECASEÚflagsr   r	   r   r   ÚSingleÚDoubleZBacktickr   r   ÚPseudor   Ú	Attributer   ÚFunctionÚ	Namespacer   ZLabelr
   ÚConstantÚPreprocZBuiltinÚVariableÚGlobalÚEscapeÚtokens© r9   r9   ú>/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/installers.pyr      st   


õÿÿ%Û&ñÑAüÿ
ú
ö
ü
ü™c                   @   sp  e Zd ZdZdZdgZdgZdgZdZde	fe
dƒgd	e d
 eejeƒdfdefdefgdejfd	e d
 eejeƒdfdefdefgdejdfdejfe
dƒdejfge
dƒdeejeeeƒƒfdejdfdejdfd	e d
 eejeƒfdefe
dƒdejfdejdfdefdefgde	jfde	jfdee	jeƒfgdejfdejfd ejfd!ejjfd"ej fgd#œZ!d$S )%r   z=
    For RPM ``.spec`` files.

    .. versionadded:: 1.6
    ZRPMSpecÚspecz*.specztext/x-rpm-speczS(?:package|prep|build|install|clean|check|pre[a-z]*|post[a-z]*|trigger[a-z]*|files)z#.*$r   z^(%z)(.*)$r   r   Ú.z\*.*$r   z/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})r   r   zì(?i)^(Name|Version|Release|Epoch|Summary|Group|License|Packager|Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|Requires\(?[a-z]*\)?|[a-z]+Req|Obsoletes|Suggests|Provides|Conflicts|Build[a-z]+|[a-z]+Arch|Auto[a-z]+)(:)(.*)$z^%descriptionÚdescriptionz^%changelogÚ	changelogzo%(attr|defattr|dir|doc(?:dir)?|setup|config(?:ure)?|make(?:install)|ghost|patch[0-9]+|find_lang|exclude|verify)r   Ústringz
%define.*$z%\{\!\?.*%define.*\}z+(%(?:if(?:n?arch)?|else(?:if)?|endif))(.*)$z%\{?__[a-z_]+\}?z'%\{?_([a-z_]+dir|[a-z_]+path|prefix)\}?z
%\{\?\w+\}z\$\{?RPM_[A-Z0-9_]+\}?z%\{[a-zA-Z]\w+\})r    r=   r>   r?   r   r   r   N)"r!   r"   r#   r$   r%   r'   r(   r)   Z_directivesr	   r   r   r   Z	Decoratorr   r   r   Z
Subheadingr   r.   r7   ZHeadingr   r   r   r   r-   r4   r1   r/   r5   r6   r3   r8   r9   r9   r9   r:   r   “   st   þ

 ÿü

 ÿû
üü

þ
ï
ÿý
ûÏc                	   @   sÈ   e Zd ZdZdZdddgZdgZdgZdefde	fd	e
eeƒd
fgde	dfdejfdefdejdfdefdedfgdejdfdejfdejfdejfgde	dfdedfdefdejfgdœZdd„ ZdS )r   zU
    Lexer that highlights debian sources.list files.

    .. versionadded:: 0.7
    zDebian SourcelistZ
debsourcesZsourceslistzsources.listz application/x-debian-sourceslistr   z#.*?$z^(deb(?:-src)?)(\s+)Údistributionr   z
\$\(ARCH\)z[^\s$[]+z\[úescaped-distributionz\$Ú
componentsz\]z[^\]$]+z#pop:2ú$z\S+)r    r@   rA   rB   c                 C   s4   |   ¡ D ]&}| ¡ }| d¡s(| d¡r dS qd S )Nzdeb zdeb-src T)Ú
splitlinesÚstripÚ
startswith)ÚtextÚliner9   r9   r:   Úanalyse_text  s    zSourcesListLexer.analyse_textN)r!   r"   r#   r$   r%   r'   r(   Úmimetyper   r	   r   r   r   r5   r   ZOtherr   r/   r8   rI   r9   r9   r9   r:   r   Ý   s>   
 ÿý
ú	
üüëc                   @   sF  e Zd ZdZdZdZddgZdgZdedfde	ee
ƒd	fd
e	ee
ƒdfde	ee
ƒdfde	ee
eƒfde	ee
eƒfde	ee
eƒfde	eeeƒfgdejdfdejfde
fde
dfde
fgde	e
eeejƒfdejfde
fedƒgde	ee
eje
ƒfde
dfdefde
fde
dfd e
fd!ejfd"ejfgd#e
dfd$e	ee
eƒfgd%œZd&S )'r   zm
    Lexer for Debian ``control`` files and ``apt-cache show <pkg>`` outputs.

    .. versionadded:: 0.9
    zDebian Control filez>https://www.debian.org/doc/debian-policy/ch-controlfields.htmlZ
debcontrolÚcontrolz^(Description)r=   z^(Maintainer|Uploaders)(:\s*)Ú
maintainerz1^((?:Build-|Pre-)?Depends(?:-Indep|-Arch)?)(:\s*)Údependsz%^(Recommends|Suggests|Enhances)(:\s*)z"^((?:Python-)?Version)(:\s*)(\S+)$z"^((?:Installed-)?Size)(:\s*)(\S+)$z!^(MD5Sum|SHA1|SHA256)(:\s*)(\S+)$z ^([a-zA-Z\-0-9\.]*?)(:\s*)(.*?)$z<[^>]+>$r   z<[^>]+>z,\n?z[^,<]+$z[^,<]+z(.*)(Homepage)(: )(\S+)z:.*\nz .*\nz(\$)(\{)(\w+\s*:\s*\w+)(\})z\(Údepend_versz\|z,\nz\nz[,\s]z[+.a-zA-Z0-9-]+z\[.*?\]z\)z([><=]+)(\s*)([^)]+))r    rL   r=   rM   rN   N)r!   r"   r#   r$   r%   r&   r'   r(   r   r   r   r   r   r   r   ZStrongr   ZClassr   r
   ÚEntityr1   r8   r9   r9   r9   r:   r     sr   
ÿ ÿ
ÿ
ÿ
ÿ
ÿ
ÿò
ûÿûÿ÷þÕ)r$   r*   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   r   r   Ú__all__r   r   r   r   r9   r9   r9   r:   Ú<module>   s   
 0ÿ~J0