@shikijs/langs
Version:
TextMate grammars for Shiki in ESM
8 lines (7 loc) • 121 kB
JavaScript
import html from './html.mjs'
import xml from './xml.mjs'
import sql from './sql.mjs'
import javascript from './javascript.mjs'
import json from './json.mjs'
import css from './css.mjs'
const lang = Object.freeze(JSON.parse("{\"displayName\":\"PHP\",\"name\":\"php\",\"patterns\":[{\"include\":\"#attribute\"},{\"include\":\"#comments\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.namespace.php\"},\"2\":{\"name\":\"entity.name.type.namespace.php\",\"patterns\":[{\"match\":\"\\\\\\\\\",\"name\":\"punctuation.separator.inheritance.php\"}]}},\"match\":\"(?i)(?:^|(?<=<\\\\?php))\\\\s*(namespace)\\\\s+([a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)(?=\\\\s*;)\",\"name\":\"meta.namespace.php\"},{\"begin\":\"(?i)(?:^|(?<=<\\\\?php))\\\\s*(namespace)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.namespace.php\"}},\"end\":\"(?<=})|(?=\\\\?>)\",\"name\":\"meta.namespace.php\",\"patterns\":[{\"include\":\"#comments\"},{\"captures\":{\"0\":{\"patterns\":[{\"match\":\"\\\\\\\\\",\"name\":\"punctuation.separator.inheritance.php\"}]}},\"match\":\"(?i)[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+\",\"name\":\"entity.name.type.namespace.php\"},{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.namespace.begin.bracket.curly.php\"}},\"end\":\"}|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.namespace.end.bracket.curly.php\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"match\":\"[^\\\\s]+\",\"name\":\"invalid.illegal.identifier.php\"}]},{\"match\":\"\\\\s+(?=use\\\\b)\"},{\"begin\":\"(?i)\\\\buse\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.use.php\"}},\"end\":\"(?<=})|(?=;)|(?=\\\\?>)\",\"name\":\"meta.use.php\",\"patterns\":[{\"match\":\"\\\\b(const|function)\\\\b\",\"name\":\"storage.type.${1:/downcase}.php\"},{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.use.begin.bracket.curly.php\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.use.end.bracket.curly.php\"}},\"patterns\":[{\"include\":\"#scope-resolution\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.use-as.php\"},\"2\":{\"name\":\"storage.modifier.php\"},\"3\":{\"name\":\"entity.other.alias.php\"}},\"match\":\"(?xi)\\n\\\\b(as)\\n\\\\s+(final|abstract|public|private|protected|static)\\n\\\\s+([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.use-as.php\"},\"2\":{\"patterns\":[{\"match\":\"^(?:final|abstract|public|private|protected|static)$\",\"name\":\"storage.modifier.php\"},{\"match\":\".+\",\"name\":\"entity.other.alias.php\"}]}},\"match\":\"(?xi)\\n\\\\b(as)\\n\\\\s+([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.use-insteadof.php\"},\"2\":{\"name\":\"support.class.php\"}},\"match\":\"(?i)\\\\b(insteadof)\\\\s+([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\"},{\"match\":\";\",\"name\":\"punctuation.terminator.expression.php\"},{\"include\":\"#use-inner\"}]},{\"include\":\"#use-inner\"}]},{\"begin\":\"(?ix)\\n\\\\b(trait)\\\\s+([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.trait.php\"},\"2\":{\"name\":\"entity.name.type.trait.php\"}},\"end\":\"}|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.trait.end.bracket.curly.php\"}},\"name\":\"meta.trait.php\",\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.trait.begin.bracket.curly.php\"}},\"contentName\":\"meta.trait.body.php\",\"end\":\"(?=}|\\\\?>)\",\"patterns\":[{\"include\":\"$self\"}]}]},{\"begin\":\"(?ix)\\n\\\\b(interface)\\\\s+([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.interface.php\"},\"2\":{\"name\":\"entity.name.type.interface.php\"}},\"end\":\"}|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.interface.end.bracket.curly.php\"}},\"name\":\"meta.interface.php\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#interface-extends\"},{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.interface.begin.bracket.curly.php\"}},\"contentName\":\"meta.interface.body.php\",\"end\":\"(?=}|\\\\?>)\",\"patterns\":[{\"include\":\"#class-constant\"},{\"include\":\"$self\"}]}]},{\"begin\":\"(?ix)\\n\\\\b(enum)\\\\s+([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\\n(?: \\\\s* (:) \\\\s* (int | string) \\\\b )?\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.enum.php\"},\"2\":{\"name\":\"entity.name.type.enum.php\"},\"3\":{\"name\":\"keyword.operator.return-value.php\"},\"4\":{\"name\":\"keyword.other.type.php\"}},\"end\":\"}|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.enum.end.bracket.curly.php\"}},\"name\":\"meta.enum.php\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#class-implements\"},{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.enum.begin.bracket.curly.php\"}},\"contentName\":\"meta.enum.body.php\",\"end\":\"(?=}|\\\\?>)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.php\"},\"2\":{\"name\":\"constant.enum.php\"}},\"match\":\"(?i)\\\\b(case)\\\\s*([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\"},{\"include\":\"#class-constant\"},{\"include\":\"$self\"}]}]},{\"begin\":\"(?ix)\\n(?:\\n \\\\b((?:(?:final|abstract|readonly)\\\\s+)*)(class)\\\\s+([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\\n |\\\\b(new)\\\\b\\\\s*(\\\\#\\\\[.*\\\\])?\\\\s*(?:(readonly)\\\\s+)?\\\\b(class)\\\\b # anonymous class\\n)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"final|abstract\",\"name\":\"storage.modifier.${0:/downcase}.php\"},{\"match\":\"readonly\",\"name\":\"storage.modifier.php\"}]},\"2\":{\"name\":\"storage.type.class.php\"},\"3\":{\"name\":\"entity.name.type.class.php\"},\"4\":{\"name\":\"keyword.other.new.php\"},\"5\":{\"patterns\":[{\"include\":\"#attribute\"}]},\"6\":{\"name\":\"storage.modifier.php\"},\"7\":{\"name\":\"storage.type.class.php\"}},\"end\":\"}|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.class.end.bracket.curly.php\"}},\"name\":\"meta.class.php\",\"patterns\":[{\"begin\":\"(?<=class)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.bracket.round.php\"}},\"end\":\"\\\\)|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.bracket.round.php\"}},\"name\":\"meta.function-call.php\",\"patterns\":[{\"include\":\"#named-arguments\"},{\"include\":\"$self\"}]},{\"include\":\"#comments\"},{\"include\":\"#class-extends\"},{\"include\":\"#class-implements\"},{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.class.begin.bracket.curly.php\"}},\"contentName\":\"meta.class.body.php\",\"end\":\"(?=}|\\\\?>)\",\"patterns\":[{\"include\":\"#class-constant\"},{\"include\":\"$self\"}]}]},{\"include\":\"#match_statement\"},{\"include\":\"#switch_statement\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.yield-from.php\"}},\"match\":\"\\\\s*\\\\b(yield\\\\s+from)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.${1:/downcase}.php\"}},\"match\":\"\\\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\\\b\"},{\"begin\":\"(?i)\\\\b((?:require|include)(?:_once)?)(\\\\s+|(?=\\\\())\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.include.php\"}},\"end\":\"(?=\\\\s|;|$|\\\\?>)\",\"name\":\"meta.include.php\",\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\b(catch)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.exception.catch.php\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.php\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.php\"}},\"name\":\"meta.catch.php\",\"patterns\":[{\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\|\",\"name\":\"punctuation.separator.delimiter.php\"},{\"begin\":\"(?i)(?=[\\\\\\\\a-z_\\\\x{7f}-\\\\x{10ffff}])\",\"end\":\"(?xi)\\n( [a-z_\\\\x{7f}-\\\\x{10ffff}] [a-z0-9_\\\\x{7f}-\\\\x{10ffff}]* )\\n(?![a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"support.class.exception.php\"}},\"patterns\":[{\"include\":\"#namespace\"}]}]},\"2\":{\"name\":\"variable.other.php\"},\"3\":{\"name\":\"punctuation.definition.variable.php\"}},\"match\":\"(?xi)\\n([a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ (?: \\\\s*\\\\|\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)*) # union or single exception class\\n\\\\s*\\n((\\\\$+)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)? # Variable\"}]},{\"match\":\"\\\\b(catch|try|throw|exception|finally)\\\\b\",\"name\":\"keyword.control.exception.php\"},{\"begin\":\"(?i)\\\\b(function)\\\\s*(?=&?\\\\s*\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.php\"}},\"end\":\"(?=\\\\s*{)\",\"name\":\"meta.function.closure.php\",\"patterns\":[{\"include\":\"#comments\"},{\"begin\":\"(&)?\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.reference.php\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.php\"}},\"contentName\":\"meta.function.parameters.php\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.php\"}},\"patterns\":[{\"include\":\"#function-parameters\"}]},{\"begin\":\"(?i)(use)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.function.use.php\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.php\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.php\"}},\"name\":\"meta.function.closure.use.php\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.php\"},{\"captures\":{\"1\":{\"name\":\"variable.other.php\"},\"2\":{\"name\":\"storage.modifier.reference.php\"},\"3\":{\"name\":\"punctuation.definition.variable.php\"}},\"match\":\"(?i)((?:(&)\\\\s*)?(\\\\$+)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\\\\s*(?=,|\\\\))\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.operator.return-value.php\"},\"2\":{\"patterns\":[{\"include\":\"#php-types\"}]}},\"match\":\"(?xi)\\n(:)\\\\s*\\n(\\n # nullable type\\n (?:\\\\?\\\\s*)? [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ |\\n # union, intersection or DNF type\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n (?: \\\\s*[|&]\\\\s*\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n )+\\n)\\n(?=\\\\s*(?:{|/[/*]|\\\\#|$))\"}]},{\"begin\":\"(?i)\\\\b(fn)\\\\s*(?=&?\\\\s*\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.php\"}},\"end\":\"=>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arrow.php\"}},\"name\":\"meta.function.closure.php\",\"patterns\":[{\"begin\":\"(?:(&)\\\\s*)?(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.reference.php\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.php\"}},\"contentName\":\"meta.function.parameters.php\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.php\"}},\"patterns\":[{\"include\":\"#function-parameters\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.operator.return-value.php\"},\"2\":{\"patterns\":[{\"include\":\"#php-types\"}]}},\"match\":\"(?xi)\\n(:)\\\\s*\\n(\\n # nullable type\\n (?:\\\\?\\\\s*)? [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ |\\n # union, intersection or DNF type\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n (?: \\\\s*[|&]\\\\s*\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n )+\\n)\\n(?=\\\\s*(?:=>|/[/*]|\\\\#|$))\"}]},{\"begin\":\"((?:(?:final|abstract|public|private|protected)\\\\s+)*)(function)\\\\s+(__construct)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"final|abstract|public|private|protected\",\"name\":\"storage.modifier.php\"}]},\"2\":{\"name\":\"storage.type.function.php\"},\"3\":{\"name\":\"support.function.constructor.php\"},\"4\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.php\"}},\"contentName\":\"meta.function.parameters.php\",\"end\":\"(?xi)\\n(\\\\)) \\\\s* ( : \\\\s*\\n (?:\\\\?\\\\s*)? (?!\\\\s) [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\\\\\s\\\\|&()]+ (?<!\\\\s)\\n)?\\n(?=\\\\s*(?:{|/[/*]|\\\\#|$|;))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.php\"},\"2\":{\"name\":\"invalid.illegal.return-type.php\"}},\"name\":\"meta.function.php\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.php\"},{\"begin\":\"(?xi)\\n((?:(?:public|private|protected|readonly)(?:\\\\s+|(?=\\\\?)))++)\\n(?: (\\n # nullable type\\n (?:\\\\?\\\\s*)? [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ |\\n # union, intersection or DNF type\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n (?: \\\\s*[|&]\\\\s*\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n )+\\n) \\\\s+ )?\\n((?:(&)\\\\s*)?(\\\\$)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*) # Variable name with possible reference\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"public|private|protected|readonly\",\"name\":\"storage.modifier.php\"}]},\"2\":{\"patterns\":[{\"include\":\"#php-types\"}]},\"3\":{\"name\":\"variable.other.php\"},\"4\":{\"name\":\"storage.modifier.reference.php\"},\"5\":{\"name\":\"punctuation.definition.variable.php\"}},\"end\":\"(?=\\\\s*(?:,|\\\\)|/[/*]|\\\\#))\",\"name\":\"meta.function.parameter.promoted-property.php\",\"patterns\":[{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.php\"}},\"end\":\"(?=\\\\s*(?:,|\\\\)|/[/*]|\\\\#))\",\"patterns\":[{\"include\":\"#parameter-default-types\"}]}]},{\"include\":\"#function-parameters\"}]},{\"begin\":\"((?:(?:final|abstract|public|private|protected|static)\\\\s+)*)(function)\\\\s+(?i:(__(?:call|construct|debugInfo|destruct|get|set|isset|unset|toString|clone|set_state|sleep|wakeup|autoload|invoke|callStatic|serialize|unserialize))|(?:(&)?\\\\s*([a-zA-Z_\\\\x{7f}-\\\\x{10ffff}][a-zA-Z0-9_\\\\x{7f}-\\\\x{10ffff}]*)))\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"final|abstract|public|private|protected|static\",\"name\":\"storage.modifier.php\"}]},\"2\":{\"name\":\"storage.type.function.php\"},\"3\":{\"name\":\"support.function.magic.php\"},\"4\":{\"name\":\"storage.modifier.reference.php\"},\"5\":{\"name\":\"entity.name.function.php\"},\"6\":{\"name\":\"punctuation.definition.parameters.begin.bracket.round.php\"}},\"contentName\":\"meta.function.parameters.php\",\"end\":\"(?xi)\\n(\\\\)) (?: \\\\s* (:) \\\\s* (\\n # nullable type\\n (?:\\\\?\\\\s*)? [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ |\\n # union, intersection or DNF type\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n (?: \\\\s*[|&]\\\\s*\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n )+\\n) )?\\n(?=\\\\s*(?:{|/[/*]|\\\\#|$|;))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.bracket.round.php\"},\"2\":{\"name\":\"keyword.operator.return-value.php\"},\"3\":{\"patterns\":[{\"match\":\"\\\\b(static)\\\\b\",\"name\":\"storage.type.php\"},{\"match\":\"\\\\b(never)\\\\b\",\"name\":\"keyword.other.type.never.php\"},{\"include\":\"#php-types\"}]}},\"name\":\"meta.function.php\",\"patterns\":[{\"include\":\"#function-parameters\"}]},{\"captures\":{\"1\":{\"patterns\":[{\"match\":\"public|private|protected|static|readonly\",\"name\":\"storage.modifier.php\"}]},\"2\":{\"patterns\":[{\"include\":\"#php-types\"}]},\"3\":{\"name\":\"variable.other.php\"},\"4\":{\"name\":\"punctuation.definition.variable.php\"}},\"match\":\"(?xi)\\n((?:(?:public|private|protected|static|readonly)(?:\\\\s+|(?=\\\\?)))++) # At least one modifier\\n(\\n # nullable type\\n (?:\\\\?\\\\s*)? [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ |\\n # union, intersection or DNF type\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n (?: \\\\s*[|&]\\\\s*\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n )+\\n)?\\n\\\\s+ ((\\\\$)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*) # Variable name\"},{\"include\":\"#invoke-call\"},{\"include\":\"#scope-resolution\"},{\"include\":\"#variables\"},{\"include\":\"#strings\"},{\"captures\":{\"1\":{\"name\":\"support.function.construct.php\"},\"2\":{\"name\":\"punctuation.definition.array.begin.bracket.round.php\"},\"3\":{\"name\":\"punctuation.definition.array.end.bracket.round.php\"}},\"match\":\"(array)(\\\\()(\\\\))\",\"name\":\"meta.array.empty.php\"},{\"begin\":\"(array)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.construct.php\"},\"2\":{\"name\":\"punctuation.definition.array.begin.bracket.round.php\"}},\"end\":\"\\\\)|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.array.end.bracket.round.php\"}},\"name\":\"meta.array.php\",\"patterns\":[{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.storage-type.begin.bracket.round.php\"},\"2\":{\"name\":\"storage.type.php\"},\"3\":{\"name\":\"punctuation.definition.storage-type.end.bracket.round.php\"}},\"match\":\"(?i)(\\\\()\\\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\\\s*(\\\\))\"},{\"match\":\"(?i)\\\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object|mixed)\\\\b\",\"name\":\"storage.type.php\"},{\"match\":\"(?i)\\\\b(global|abstract|const|final|private|protected|public|static)\\\\b\",\"name\":\"storage.modifier.php\"},{\"include\":\"#object\"},{\"match\":\";\",\"name\":\"punctuation.terminator.expression.php\"},{\"match\":\":\",\"name\":\"punctuation.terminator.statement.php\"},{\"include\":\"#heredoc\"},{\"include\":\"#numbers\"},{\"match\":\"(?i)\\\\bclone\\\\b\",\"name\":\"keyword.other.clone.php\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.spread.php\"},{\"match\":\"\\\\.=?\",\"name\":\"keyword.operator.string.php\"},{\"match\":\"=>\",\"name\":\"keyword.operator.key.php\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.php\"},\"2\":{\"name\":\"storage.modifier.reference.php\"},\"3\":{\"name\":\"storage.modifier.reference.php\"}},\"match\":\"(?i)(\\\\=)(&)|(&)(?=[$a-z_])\"},{\"match\":\"@\",\"name\":\"keyword.operator.error-control.php\"},{\"match\":\"===|==|!==|!=|<>\",\"name\":\"keyword.operator.comparison.php\"},{\"match\":\"=|\\\\+=|\\\\-=|\\\\*\\\\*?=|/=|%=|&=|\\\\|=|\\\\^=|<<=|>>=|\\\\?\\\\?=\",\"name\":\"keyword.operator.assignment.php\"},{\"match\":\"<=>|<=|>=|<|>\",\"name\":\"keyword.operator.comparison.php\"},{\"match\":\"\\\\-\\\\-|\\\\+\\\\+\",\"name\":\"keyword.operator.increment-decrement.php\"},{\"match\":\"\\\\-|\\\\+|\\\\*\\\\*?|/|%\",\"name\":\"keyword.operator.arithmetic.php\"},{\"match\":\"(?i)(!|&&|\\\\|\\\\|)|\\\\b(and|or|xor|as)\\\\b\",\"name\":\"keyword.operator.logical.php\"},{\"include\":\"#function-call\"},{\"match\":\"<<|>>|~|\\\\^|&|\\\\|\",\"name\":\"keyword.operator.bitwise.php\"},{\"begin\":\"(?i)\\\\b(instanceof)\\\\s+(?=[\\\\\\\\$a-z_])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.type.php\"}},\"end\":\"(?i)(?=[^\\\\\\\\$a-z0-9_\\\\x{7f}-\\\\x{10ffff}])\",\"patterns\":[{\"include\":\"#class-name\"},{\"include\":\"#variable-name\"}]},{\"include\":\"#instantiation\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.goto.php\"},\"2\":{\"name\":\"support.other.php\"}},\"match\":\"(?i)(goto)\\\\s+([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\"},{\"captures\":{\"1\":{\"name\":\"entity.name.goto-label.php\"}},\"match\":\"(?i)^\\\\s*([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*(?<!default))\\\\s*:(?!:)\"},{\"include\":\"#string-backtick\"},{\"include\":\"#ternary_shorthand\"},{\"include\":\"#null_coalescing\"},{\"include\":\"#ternary_expression\"},{\"begin\":\"{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.curly.php\"}},\"end\":\"}|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.curly.php\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.php\"}},\"end\":\"\\\\]|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.php\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.begin.bracket.round.php\"}},\"end\":\"\\\\)|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.end.bracket.round.php\"}},\"patterns\":[{\"include\":\"$self\"}]},{\"include\":\"#constants\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.php\"}],\"repository\":{\"attribute\":{\"begin\":\"\\\\#\\\\[\",\"end\":\"\\\\]\",\"name\":\"meta.attribute.php\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.php\"},{\"begin\":\"([a-zA-Z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#attribute-name\"}]},\"2\":{\"name\":\"punctuation.definition.arguments.begin.bracket.round.php\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.bracket.round.php\"}},\"patterns\":[{\"include\":\"#named-arguments\"},{\"include\":\"$self\"}]},{\"include\":\"#attribute-name\"}]},\"attribute-name\":{\"patterns\":[{\"begin\":\"(?i)(?=\\\\\\\\?[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*\\\\\\\\)\",\"end\":\"(?xi)\\n( [a-z_\\\\x{7f}-\\\\x{10ffff}] [a-z0-9_\\\\x{7f}-\\\\x{10ffff}]* )?\\n(?![a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"support.attribute.php\"}},\"patterns\":[{\"include\":\"#namespace\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.inheritance.php\"}},\"match\":\"(?xi)\\n(\\\\\\\\)?\\\\b(Attribute|SensitiveParameter|AllowDynamicProperties|ReturnTypeWillChange)\\\\b\",\"name\":\"support.attribute.builtin.php\"},{\"begin\":\"(?i)(?=[\\\\\\\\a-z_\\\\x{7f}-\\\\x{10ffff}])\",\"end\":\"(?xi)\\n( [a-z_\\\\x{7f}-\\\\x{10ffff}] [a-z0-9_\\\\x{7f}-\\\\x{10ffff}]* )?\\n(?![a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"support.attribute.php\"}},\"patterns\":[{\"include\":\"#namespace\"}]}]},\"class-builtin\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.inheritance.php\"}},\"match\":\"(?xi)\\n(\\\\\\\\)?\\\\b\\n(Attribute|(APC|Append)Iterator|Array(Access|Iterator|Object)\\n|Bad(Function|Method)CallException\\n|(Caching|CallbackFilter)Iterator|Collator|Collectable|Cond|Countable|CURLFile\\n|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException\\n|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference\\n |Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)\\n|(Error)?Exception|EmptyIterator\\n|finfo\\n|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?\\n|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?\\n|FANNConnection|(Filter|Filesystem)Iterator\\n|Gender\\\\\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?\\n|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)\\n|Http((Inflate|Deflate)?Stream|Message|Request(Pool)?|Response|QueryString)\\n|HRTime\\\\\\\\(PerformanceCounter|StopWatch)\\n|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)\\n|Imagick(Draw|Pixel(Iterator)?)?\\n|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?\\n|JsonSerializable\\n|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))\\n|Lapack|(Length|Locale|Logic)Exception|LimitIterator|Lua(Closure)?\\n|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch\\n |Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp\\n |UpdateBatch|Write(Batch|ConcernException))?\\n|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex\\n|mysqli(_(driver|stmt|warning|result))?\\n|MysqlndUh(Connection|PreparedStatement)\\n|NoRewindIterator|Normalizer|NumberFormatter\\n|OCI-(Collection|Lob)|OuterIterator|(OutOf(Bounds|Range)|Overflow)Exception\\n|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool\\n|QuickHash(Int(Set|StringHash)|StringIntHash)\\n|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator\\n|Reflection(Class|Function(Abstract)?|Method|Object|Parameter|Property|(Zend)?Extension)?\\n|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)\\n|SAM(Connection|Message)|SCA(_(SoapProxy|LocalProxy))?\\n|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)\\n |Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)\\n|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP\\n|Soap(Client|Fault|Header|Param|Server|Var)\\n|SphinxClient|Spoofchecker\\n|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(Max|Min)?Heap|Observer|ObjectStorage\\n |(Priority)?Queue|Stack|Subject|Type|TempFileObject)\\n|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)\\n|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)\\n|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable\\n|UConverter|(Underflow|UnexpectedValue)Exception\\n|V8Js(Exception)?|Varnish(Admin|Log|Stat)\\n|Worker|Weak(Map|Ref)\\n|XML(Diff\\\\\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor\\n|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)\\n |Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract\\n |Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)\\n |Response_Abstract|Router|Session|View_(Simple|Interface))\\n|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)\\n|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\\n\\\\b\",\"name\":\"support.class.builtin.php\"}]},\"class-constant\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.modifier.php\"},\"2\":{\"name\":\"constant.other.php\"}},\"match\":\"(?i)\\\\b(const)\\\\s*([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\"}]},\"class-extends\":{\"patterns\":[{\"begin\":\"(?i)(extends)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.extends.php\"}},\"end\":\"(?i)(?=[^A-Za-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\])\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#inheritance-single\"}]}]},\"class-implements\":{\"patterns\":[{\"begin\":\"(?i)(implements)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.implements.php\"}},\"end\":\"(?i)(?={)\",\"patterns\":[{\"include\":\"#comments\"},{\"match\":\",\",\"name\":\"punctuation.separator.classes.php\"},{\"include\":\"#inheritance-single\"}]}]},\"class-name\":{\"patterns\":[{\"begin\":\"(?i)(?=\\\\\\\\?[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*\\\\\\\\)\",\"end\":\"(?xi)\\n( [a-z_\\\\x{7f}-\\\\x{10ffff}] [a-z0-9_\\\\x{7f}-\\\\x{10ffff}]* )?\\n(?![a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"support.class.php\"}},\"patterns\":[{\"include\":\"#namespace\"}]},{\"include\":\"#class-builtin\"},{\"begin\":\"(?i)(?=[\\\\\\\\a-z_\\\\x{7f}-\\\\x{10ffff}])\",\"end\":\"(?xi)\\n( [a-z_\\\\x{7f}-\\\\x{10ffff}] [a-z0-9_\\\\x{7f}-\\\\x{10ffff}]* )?\\n(?![a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\])\",\"endCaptures\":{\"1\":{\"name\":\"support.class.php\"}},\"patterns\":[{\"include\":\"#namespace\"}]}]},\"comments\":{\"patterns\":[{\"begin\":\"/\\\\*\\\\*(?=\\\\s)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.php\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.php\"}},\"name\":\"comment.block.documentation.phpdoc.php\",\"patterns\":[{\"include\":\"#php_doc\"}]},{\"begin\":\"/\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.php\"}},\"end\":\"\\\\*/\",\"name\":\"comment.block.php\"},{\"begin\":\"(^\\\\s+)?(?=//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.php\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.php\"}},\"end\":\"\\\\n|(?=\\\\?>)\",\"name\":\"comment.line.double-slash.php\"}]},{\"begin\":\"(^\\\\s+)?(?=#)(?!#\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.php\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.php\"}},\"end\":\"\\\\n|(?=\\\\?>)\",\"name\":\"comment.line.number-sign.php\"}]}]},\"constants\":{\"patterns\":[{\"match\":\"(?i)\\\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\\\b\",\"name\":\"constant.language.php\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.inheritance.php\"}},\"match\":\"(\\\\\\\\)?\\\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(MAJOR|MINOR)|BUILD|SUITEMASK|SP_(MAJOR|MINOR)|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\\\b\",\"name\":\"support.constant.core.php\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.inheritance.php\"}},\"match\":\"(\\\\\\\\)?\\\\b(__COMPILER_HALT_OFFSET__|AB(MON_(1|2|3|4|5|6|7|8|9|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|2|3|PI)|2_(SQRT)?PI|PI(_(2|4))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_(1|2|3|4|5|6|7|8|9|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\\\b\",\"name\":\"support.constant.std.php\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.inheritance.php\"}},\"match\":\"(\\\\\\\\)?\\\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(NMTOKEN(S)?|NOTATION|NODE)|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD(2|4|5)|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(128|160)?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(DEFAULT_VALUE_FLAG|DATA)|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC(2|6)|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(REQUIRED|RESULT))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(IGNORE|IS)_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(SIZE|SPEED)_(DOWNLOAD|UPLOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_(DOWNLOAD|UPLOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(PRIVATE|PUBLIC)_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS(4|5))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RECV|READ)_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_(0|1)|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V(4|6)|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_(MODIFICATION_ALLOWED|DATA_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_((F|R|W|X)_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV(4|6)|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\\\b\",\"name\":\"support.constant.ext.php\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.inheritance.php\"}},\"match\":\"(\\\\\\\\)?\\\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\\\b\",\"name\":\"support.constant.parser-token.php\"},{\"match\":\"(?i)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*\",\"name\":\"constant.other.php\"}]},\"function-call\":{\"patterns\":[{\"begin\":\"(\\\\\\\\?(?<![a-zA-Z0-9_\\\\x{7f}-\\\\x{10ffff}])[a-zA-Z_\\\\x{7f}-\\\\x{10ffff}][a-zA-Z0-9_\\\\x{7f}-\\\\x{10ffff}]*(?:\\\\\\\\[a-zA-Z_\\\\x{7f}-\\\\x{10ffff}][a-zA-Z0-9_\\\\x{7f}-\\\\x{10ffff}]*)+)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#namespace\"},{\"match\":\"(?i)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*\",\"name\":\"entity.name.function.php\"}]},\"2\":{\"name\":\"punctuation.definition.arguments.begin.bracket.round.php\"}},\"end\":\"\\\\)|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.bracket.round.php\"}},\"name\":\"meta.function-call.php\",\"patterns\":[{\"include\":\"#named-arguments\"},{\"include\":\"$self\"}]},{\"begin\":\"(\\\\\\\\)?(?<![a-zA-Z0-9_\\\\x{7f}-\\\\x{10ffff}])([a-zA-Z_\\\\x{7f}-\\\\x{10ffff}][a-zA-Z0-9_\\\\x{7f}-\\\\x{10ffff}]*)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#namespace\"}]},\"2\":{\"patterns\":[{\"include\":\"#support\"},{\"match\":\"(?i)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*\",\"name\":\"entity.name.function.php\"}]},\"3\":{\"name\":\"punctuation.definition.arguments.begin.bracket.round.php\"}},\"end\":\"\\\\)|(?=\\\\?>)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.bracket.round.php\"}},\"name\":\"meta.function-call.php\",\"patterns\":[{\"include\":\"#named-arguments\"},{\"include\":\"$self\"}]},{\"match\":\"(?i)\\\\b(print|echo)\\\\b\",\"name\":\"support.function.construct.output.php\"}]},\"function-parameters\":{\"patterns\":[{\"include\":\"#attribute\"},{\"include\":\"#comments\"},{\"match\":\",\",\"name\":\"punctuation.separator.delimiter.php\"},{\"captures\":{\"1\":{\"patterns\":[{\"include\":\"#php-types\"}]},\"2\":{\"name\":\"variable.other.php\"},\"3\":{\"name\":\"storage.modifier.reference.php\"},\"4\":{\"name\":\"keyword.operator.variadic.php\"},\"5\":{\"name\":\"punctuation.definition.variable.php\"}},\"match\":\"(?xi)\\n(?: (\\n # nullable type\\n (?:\\\\?\\\\s*)? [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ |\\n # union, intersection or DNF type\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n (?: \\\\s*[|&]\\\\s*\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n )+\\n) \\\\s+ )?\\n((?:(&)\\\\s*)?(\\\\.\\\\.\\\\.)(\\\\$)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*) # Variable name with possible reference\\n(?=\\\\s*(?:,|\\\\)|/[/*]|\\\\#|$)) # A closing parentheses (end of argument list) or a comma or a comment\",\"name\":\"meta.function.parameter.variadic.php\"},{\"begin\":\"(?xi)\\n(\\n # nullable type\\n (?:\\\\?\\\\s*)? [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ |\\n # union, intersection or DNF type\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n (?: \\\\s*[|&]\\\\s*\\n (?: [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+ | \\\\(\\\\s* [a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+(?:\\\\s*&\\\\s*[a-z0-9_\\\\x{7f}-\\\\x{10ffff}\\\\\\\\]+)+ \\\\s*\\\\) )\\n )+\\n)\\n\\\\s+ ((?:(&)\\\\s*)?(\\\\$)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*) # Variable name with possible reference\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#php-types\"}]},\"2\":{\"name\":\"variable.other.php\"},\"3\":{\"name\":\"storage.modifier.reference.php\"},\"4\":{\"name\":\"punctuation.definition.variable.php\"}},\"end\":\"(?=\\\\s*(?:,|\\\\)|/[/*]|\\\\#))\",\"name\":\"meta.function.parameter.typehinted.php\",\"patterns\":[{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.php\"}},\"end\":\"(?=\\\\s*(?:,|\\\\)|/[/*]|\\\\#))\",\"patterns\":[{\"include\":\"#parameter-default-types\"}]}]},{\"captures\":{\"1\":{\"name\":\"variable.other.php\"},\"2\":{\"name\":\"storage.modifier.reference.php\"},\"3\":{\"name\":\"punctuation.definition.variable.php\"}},\"match\":\"(?xi)\\n((?:(&)\\\\s*)?(\\\\$)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*) # Variable name with possible reference\\n(?=\\\\s*(?:,|\\\\)|/[/*]|\\\\#|$)) # A closing parentheses (end of argument list) or a comma or a comment\",\"name\":\"meta.function.parameter.no-default.php\"},{\"begin\":\"(?xi)\\n((?:(&)\\\\s*)?(\\\\$)[a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*) # Variable name with possible reference\\n\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.php\"},\"2\":{\"name\":\"storage.modifier.reference.php\"},\"3\":{\"name\":\"punctuation.definition.variable.php\"},\"4\":{\"name\":\"keyword.operator.assignment.php\"}},\"end\":\"(?=\\\\s*(?:,|\\\\)|/[/*]|\\\\#))\",\"name\":\"meta.function.parameter.default.php\",\"patterns\":[{\"include\":\"#parameter-default-types\"}]}]},\"heredoc\":{\"patterns\":[{\"begin\":\"(?i)(?=<<<\\\\s*(\\\"?)([a-z_\\\\x{7f}-\\\\x{10ffff}][a-z0-9_\\\\x{7f}-\\\\x{10ffff}]*)(\\\\1)\\\\s*$)\",\"end\":\"(?!\\\\G)\",\"name\":\"string.unquoted.heredoc.php\",\"patterns\":[{\"include\":\"#heredoc_interior\"}]},{\"begin\":\"(?=<<<\\\\s*'([a-zA-Z_]+[a-zA-Z0-9_]*)'\\\\s*$)\",\"end\":\"(?!\\\\G)\",\"name\":\"string.unquoted.nowdoc.php\",\"patterns\":[{\"include\":\"#nowdoc_interior\"}]}]},\"heredoc_interior\":{\"patterns\":[{\"begin\":\"(<<<)\\\\s*(\\\"?)(HTML)(\\\\2)(\\\\s*)$\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.php\"},\"1\":{\"name\":\"punctuation.definition.string.php\"},\"3\":{\"name\":\"keyword.operator.heredoc.php\"},\"5\":{\"name\":\"invalid.illegal.trailing-whitespace.php\"}},\"contentName\":\"text.html\",\"end\":\"^\\\\s*(\\\\3)(?![A-Za-z0-9_\\\\x{7f}-\\\\x{10ffff}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.php\"},\"1\":{\"name\":\"keyword.operator.heredoc.php\"}},\"name\":\"meta.embedded.html\",\"patterns\":[{\"include\":\"#interpolation\"},{\"include\":\"text.html.basic\"}]},{\"begin\":\"(<<<)\\\\s*(\\\"?)(XML)(\\\\2)(\\\\s*)$\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.php\"},\"1\":{\"name\":\"punctuation.definition.string.php\"},\"3\":{\"name\":\"keyword.operator.heredoc.php\"},\"5\":{\"name\":\"invalid.illegal.trailing-whitespace.php\"}},\"contentName\":\"text.xml\",\"end\":\"^\\\\s*(\\\\3)(?![A-Za-z0-9_\\\\x{7f}-\\\\x{10ffff}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.php\"},\"1\":{\"name\":\"keyword.operator.heredoc.php\"}},\"name\":\"meta.embedded.xml\",\"patterns\":[{\"include\":\"#interpolation\"},{\"include\":\"text.xml\"}]},{\"begin\":\"(<<<)\\\\s*(\\\"?)([DS]QL)(\\\\2)(\\\\s*)$\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.php\"},\"1\":{\"name\":\"punctuation.definition.string.php\"},\"3\":{\"name\":\"keyword.operator.heredoc.php\"},\"5\":{\"name\":\"invalid.illegal.trailing-whitespace.php\"}},\"contentName\":\"source.sql\",\"end\":\"^\\\\s*(\\\\3)(?![A-Za-z0-9_\\\\x{7f}-\\\\x{10ffff}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.php\"},\"1\":{\"name\":\"keyword.operator.heredoc.php\"}},\"name\":\"meta.embedded.sql\",\"patterns\":[{\"include\":\"#interpolation\"},{\"include\":\"source.sql\"}]},{\"begin\":\"(<<<)\\\\s*(\\\"?)(JAVASCRIPT|JS)(\\\\2)(\\\\s*)$\",\"beginCaptu