Mercurial > yakumo_izuru > aya
diff vendor/github.com/alecthomas/chroma/v2/lexers/embedded/php.xml @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/php.xml Sun Jul 23 13:18:53 2023 +0000 @@ -0,0 +1,211 @@ +<lexer> + <config> + <name>PHP</name> + <alias>php</alias> + <alias>php3</alias> + <alias>php4</alias> + <alias>php5</alias> + <filename>*.php</filename> + <filename>*.php[345]</filename> + <filename>*.inc</filename> + <mime_type>text/x-php</mime_type> + <case_insensitive>true</case_insensitive> + <dot_all>true</dot_all> + <ensure_nl>true</ensure_nl> + </config> + <rules> + <state name="magicfuncs"> + <rule pattern="(__callStatic|__set_state|__construct|__debugInfo|__toString|__destruct|__invoke|__wakeup|__clone|__sleep|__isset|__unset|__call|__get|__set)\b"> + <token type="NameFunctionMagic"/> + </rule> + </state> + <state name="magicconstants"> + <rule pattern="(__NAMESPACE__|__FUNCTION__|__METHOD__|__CLASS__|__TRAIT__|__LINE__|__FILE__|__DIR__)\b"> + <token type="NameConstant"/> + </rule> + </state> + <state name="classname"> + <rule pattern="(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*"> + <token type="NameClass"/> + <pop depth="1"/> + </rule> + </state> + <state name="functionname"> + <rule> + <include state="magicfuncs"/> + </rule> + <rule pattern="(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*"> + <token type="NameFunction"/> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="string"> + <rule pattern="""> + <token type="LiteralStringDouble"/> + <pop depth="1"/> + </rule> + <rule pattern="[^{$"\\]+"> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="\\([nrt"$\\]|[0-7]{1,3}|x[0-9a-f]{1,2})"> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="\$(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*(\[\S+?\]|->(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)?"> + <token type="LiteralStringInterpol"/> + </rule> + <rule pattern="(\{\$\{)(.*?)(\}\})"> + <bygroups> + <token type="LiteralStringInterpol"/> + <usingself state="root"/> + <token type="LiteralStringInterpol"/> + </bygroups> + </rule> + <rule pattern="(\{)(\$.*?)(\})"> + <bygroups> + <token type="LiteralStringInterpol"/> + <usingself state="root"/> + <token type="LiteralStringInterpol"/> + </bygroups> + </rule> + <rule pattern="(\$\{)(\S+)(\})"> + <bygroups> + <token type="LiteralStringInterpol"/> + <token type="NameVariable"/> + <token type="LiteralStringInterpol"/> + </bygroups> + </rule> + <rule pattern="[${\\]"> + <token type="LiteralStringDouble"/> + </rule> + </state> + <state name="root"> + <rule pattern="\?>"> + <token type="CommentPreproc"/> + <pop depth="1"/> + </rule> + <rule pattern="(<<<)([\'"]?)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)(\2\n.*?\n\s*)(\3)(;?)(\n)"> + <bygroups> + <token type="LiteralString"/> + <token type="LiteralString"/> + <token type="LiteralStringDelimiter"/> + <token type="LiteralString"/> + <token type="LiteralStringDelimiter"/> + <token type="Punctuation"/> + <token type="Text"/> + </bygroups> + </rule> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + <rule pattern="#.*?\n"> + <token type="CommentSingle"/> + </rule> + <rule pattern="//.*?\n"> + <token type="CommentSingle"/> + </rule> + <rule pattern="/\*\*/"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="/\*\*.*?\*/"> + <token type="LiteralStringDoc"/> + </rule> + <rule pattern="/\*.*?\*/"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="(->|::)(\s*)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)"> + <bygroups> + <token type="Operator"/> + <token type="Text"/> + <token type="NameAttribute"/> + </bygroups> + </rule> + <rule pattern="[~!%^&*+=|:.<>/@-]+"> + <token type="Operator"/> + </rule> + <rule pattern="\?"> + <token type="Operator"/> + </rule> + <rule pattern="[\[\]{}();,]+"> + <token type="Punctuation"/> + </rule> + <rule pattern="(class)(\s+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + <push state="classname"/> + </rule> + <rule pattern="(function)(\s*)(?=\()"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + </rule> + <rule pattern="(function)(\s+)(&?)(\s*)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + <token type="Operator"/> + <token type="Text"/> + </bygroups> + <push state="functionname"/> + </rule> + <rule pattern="(const)(\s+)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + <token type="NameConstant"/> + </bygroups> + </rule> + <rule pattern="(and|E_PARSE|old_function|E_ERROR|or|as|E_WARNING|parent|eval|PHP_OS|break|exit|case|extends|PHP_VERSION|cfunction|FALSE|print|for|require|continue|foreach|require_once|declare|return|default|static|do|switch|die|stdClass|echo|else|TRUE|elseif|var|empty|if|xor|enddeclare|include|virtual|endfor|include_once|while|endforeach|global|endif|list|endswitch|new|endwhile|not|array|E_ALL|NULL|final|php_user_filter|interface|implements|public|private|protected|abstract|clone|try|catch|throw|this|use|namespace|trait|yield|finally)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(true|false|null)\b"> + <token type="KeywordConstant"/> + </rule> + <rule> + <include state="magicconstants"/> + </rule> + <rule pattern="\$\{\$+(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*\}"> + <token type="NameVariable"/> + </rule> + <rule pattern="\$+(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*"> + <token type="NameVariable"/> + </rule> + <rule pattern="(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*"> + <token type="NameOther"/> + </rule> + <rule pattern="(\d+\.\d*|\d*\.\d+)(e[+-]?[0-9]+)?"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="\d+e[+-]?[0-9]+"> + <token type="LiteralNumberFloat"/> + </rule> + <rule pattern="0[0-7]+"> + <token type="LiteralNumberOct"/> + </rule> + <rule pattern="0x[a-f0-9_]+"> + <token type="LiteralNumberHex"/> + </rule> + <rule pattern="\d[\d_]*"> + <token type="LiteralNumberInteger"/> + </rule> + <rule pattern="0b[01]+"> + <token type="LiteralNumberBin"/> + </rule> + <rule pattern="'([^'\\]*(?:\\.[^'\\]*)*)'"> + <token type="LiteralStringSingle"/> + </rule> + <rule pattern="`([^`\\]*(?:\\.[^`\\]*)*)`"> + <token type="LiteralStringBacktick"/> + </rule> + <rule pattern="""> + <token type="LiteralStringDouble"/> + <push state="string"/> + </rule> + </state> + </rules> +</lexer> \ No newline at end of file