{"name":"Meson","scopeName":"source.meson","patterns":[{"name":"comment.line.meson","match":"\\#.*$"},{"include":"#string_quoted_single"},{"name":"keyword.control.flow.meson","match":"\\b(if|else|elif|endif|foreach|endforeach)\\b"},{"name":"keyword.operator.logical.meson","match":"\\b(and|not|or)\\b"},{"name":"constant.language.meson","match":"\\b(true|false)\\b"},{"name":"constant.numeric.float.meson","match":"\\b([1-9]+[0-9]*\\.[0-9]*)"},{"name":"constant.numeric.integer.hexadecimal.meson","match":"\\b(?i:(0x[0-9a-f]+))"},{"name":"constant.numeric.integer.decimal.meson","match":"\\b([1-9]+[0-9]*|0)"},{"name":"support.variable.meson","match":"\\b(meson|host_machine|build_machine|target_machine)\\b"},{"name":"variable.parameter.function.keyword.meson","match":"\\b([\\w_]+)\\s*(?=:)"},{"name":"keyword.operator.comparison.meson","match":"\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="},{"name":"keyword.operator.assignment.augmented.meson","match":"\\+\\="},{"name":"keyword.operator.assignment.meson","match":"\\="},{"name":"keyword.operator.arithmetic.meson","match":"\\+|\\-|\\*|%|\\/"},{"name":"support.function.builtin.meson","match":"(?x)\\b(add_global_arguments|add_project_arguments|add_global_link_arguments|add_project_link_arguments|add_test_setup|add_languages|alias_target|assert|benchmark|both_libraries|build_target|configuration_data|configure_file|custom_target|declare_dependency|dependency|disabler|environment|error|executable|generator|gettext|get_option|get_variable|files|find_library|find_program|include_directories|import|install_data|install_headers|install_man|install_subdir|is_disabler|is_variable|jar|join_paths|library|message|option|project|run_target|run_command|set_variable|subdir|subdir_done|subproject|summary|shared_library|shared_module|static_library|test|vcs_tag|warning\n)\\b\\s*(?=\\()"}],"repository":{"constant_placeholder":{"name":"constant.other.placeholder.meson","match":"(?i:(%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?([hL][a-z]|[a-z%]))|(\\{([!\\[\\].:\\w ]+)?\\}))"},"escaped_character":{"match":"((\\\\\\n)|(\\\\\\\\)|(\\\\')|(\\\\n)|(\\\\r)|(\\\\t))","captures":{"1":{"name":"constant.character.escape.newline.meson"},"2":{"name":"constant.character.escape.backlash.meson"},"3":{"name":"constant.character.escape.single-quote.meson"},"4":{"name":"constant.character.escape.linefeed.meson"},"5":{"name":"constant.character.escape.return.meson"},"6":{"name":"constant.character.escape.tab.meson"}}},"string_quoted_single":{"patterns":[{"name":"string.quoted.single.single-line.meson","match":"(?\u003c!')(')(('))(?!')","captures":{"1":{"name":"puncutation.definition.string.begin.meson"},"2":{"name":"puncutation.definition.string.end.meson"},"3":{"name":"meta.empty-string.single.meson"}}},{"name":"string.quoted.single.block.meson","begin":"(''')","end":"((?\u003c=''')(')''|''')","patterns":[{"include":"#constant_placeholder"},{"include":"#escaped_character"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.meson"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.meson"},"2":{"name":"meta.empty-string.single.meson"}}},{"name":"string.quoted.single.single-line.meson","begin":"(')","end":"(')|(\\n)","patterns":[{"include":"#constant_placeholder"},{"include":"#escaped_character"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.meson"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.meson"},"2":{"name":"invalid.illegal.unclosed-string.meson"}}}]}}}
