o
    ‡ÎÖaM  ã                   @   sb   d Z ddlZddl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 dgZG dd„ deƒZdS )zØ
    pygments.lexers.meson
    ~~~~~~~~~~~~~~~~~~~~~

    Pygments lexer for the Meson build system

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚwordsÚinclude)ÚCommentÚNameÚNumberÚPunctuationÚOperatorÚKeywordÚStringÚ
WhitespaceÚ
MesonLexerc                   @   sú   e Zd ZdZdZddgZddgZdgZej	ej
B Zdefdejfd	ejfd
ejfdejfedƒedƒedƒdefdefg
defdefgeddd�efgdejfdefdefeddd�ejfedƒeddd�ejjfgedddd�ejfdejfgd œZ d!S )"r   a{  
    `meson <https://mesonbuild.com/>`_ language lexer.
    The grammar definition use to transcribe the syntax was retrieved from
    https://mesonbuild.com/Syntax.html#grammar for version 0.58
    Some of those definitions are improperly transcribed so the Meson++
    implementation was also checked: https://github.com/dcbaker/meson-plus-plus

    .. versionadded:: 2.10
    ÚMesonÚmesonzmeson.buildzmeson_options.txtztext/x-mesonz#.*?$z'''.*'''z[1-9][0-9]*z0o[0-7]+z0x[a-fA-F0-9]+ÚstringÚkeywordsÚexprz[a-zA-Z_][a-zA-Z_0-9]*z\s+z([']{3}([']{0,2}([^\\']|\\(.|\n)))*[']{3}z'.*?(?<!\\)(\\\\)*?')ÚifÚelifÚelseÚendifÚforeachÚ
endforeachÚbreakÚcontinuez\b)Úsuffixz(in|and|or|not)\bz (\*=|/=|%=|\+]=|-=|==|!=|\+|-|=)z[\[\]{}:().,?])ÚtrueÚfalseÚbuiltins)r   Úbuild_machineÚhost_machineÚtarget_machine)2Úadd_global_argumentsÚadd_global_link_argumentsÚadd_languagesÚadd_project_argumentsÚadd_project_link_argumentsÚadd_test_setupÚassertÚ	benchmarkÚboth_librariesÚbuild_targetÚconfiguration_dataÚconfigure_fileÚcustom_targetÚdeclare_dependencyÚ
dependencyÚdisablerÚenvironmentÚerrorÚ
executableÚfilesÚfind_libraryÚfind_programÚ	generatorÚ
get_optionÚget_variableÚinclude_directoriesÚinstall_dataÚinstall_headersÚinstall_manÚinstall_subdirÚis_disablerÚis_variableÚjarÚ
join_pathsÚlibraryÚmessageÚprojectÚrangeÚrun_commandÚset_variableÚshared_libraryÚshared_moduleÚstatic_libraryÚsubdirÚsubdir_doneÚ
subprojectÚsummaryÚtestÚvcs_tagÚwarningz(?<!\.))Úprefixr   z(?<!\.)import\b)Úrootr   r   r   r   N)!Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚreÚ	MULTILINEÚUNICODEÚflagsr   r   ÚSingler   ÚIntegerÚOctÚHexr   r   r   r   r
   r	   ÚWordr   ÚConstantÚVariableÚMagicÚBuiltinÚ	NamespaceÚtokens© rm   rm   ú7/usr/lib/python3/dist-packages/pygments/lexers/meson.pyr       s^    öþ
ö
öÿúúú4Ë5Ë6È
Ô)rY   r^   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   Ú__all__r   rm   rm   rm   rn   Ú<module>   s    
(