Server IP : 85.214.239.14 / Your IP : 3.144.224.116 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/pygments/lexers/ |
Upload File : |
""" pygments.lexers.meson ~~~~~~~~~~~~~~~~~~~~~ Pygments lexer for the Meson build system :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ from pygments.lexer import RegexLexer, words, include from pygments.token import Comment, Name, Number, Punctuation, Operator, \ Keyword, String, Whitespace __all__ = ['MesonLexer'] class MesonLexer(RegexLexer): """Meson 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 """ # TODO String interpolation @VARNAME@ inner matches # TODO keyword_arg: value inner matches name = 'Meson' url = 'https://mesonbuild.com/' aliases = ['meson', 'meson.build'] filenames = ['meson.build', 'meson_options.txt'] mimetypes = ['text/x-meson'] tokens = { 'root': [ (r'#.*?$', Comment), (r"'''.*'''", String.Single), (r'[1-9][0-9]*', Number.Integer), (r'0o[0-7]+', Number.Oct), (r'0x[a-fA-F0-9]+', Number.Hex), include('string'), include('keywords'), include('expr'), (r'[a-zA-Z_][a-zA-Z_0-9]*', Name), (r'\s+', Whitespace), ], 'string': [ (r"[']{3}([']{0,2}([^\\']|\\(.|\n)))*[']{3}", String), (r"'.*?(?<!\\)(\\\\)*?'", String), ], 'keywords': [ (words(( 'if', 'elif', 'else', 'endif', 'foreach', 'endforeach', 'break', 'continue', ), suffix=r'\b'), Keyword), ], 'expr': [ (r'(in|and|or|not)\b', Operator.Word), (r'(\*=|/=|%=|\+]=|-=|==|!=|\+|-|=)', Operator), (r'[\[\]{}:().,?]', Punctuation), (words(('true', 'false'), suffix=r'\b'), Keyword.Constant), include('builtins'), (words(( 'meson', 'build_machine', 'host_machine', 'target_machine', ), suffix=r'\b'), Name.Variable.Magic), ], 'builtins': [ # This list was extracted from the v0.58 reference manual (words(( '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', 'warning', ), prefix=r'(?<!\.)', suffix=r'\b'), Name.Builtin), (r'(?<!\.)import\b', Name.Namespace), ], }