chore(deps): bump github.com/alecthomas/chroma/v2 from 2.23.1 to 2.24.1

Bumps [github.com/alecthomas/chroma/v2](https://github.com/alecthomas/chroma) from 2.23.1 to 2.24.1.
- [Release notes](https://github.com/alecthomas/chroma/releases)
- [Commits](https://github.com/alecthomas/chroma/compare/v2.23.1...v2.24.1)

---
updated-dependencies:
- dependency-name: github.com/alecthomas/chroma/v2
  dependency-version: 2.24.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
dependabot[bot]
2026-04-30 22:11:51 +00:00
committed by GitHub
parent b8098dc1b9
commit b40cc1e04e
39 changed files with 1604 additions and 152 deletions

View File

@@ -0,0 +1,98 @@
<lexer>
<config>
<name>AMPL</name>
<alias>ampl</alias>
<filename>*.mod</filename>
<filename>*.run</filename>
<mime_type>text/x-ampl</mime_type>
<case_insensitive>false</case_insensitive>
<dot_all>true</dot_all>
</config>
<rules>
<state name="root">
<!-- Whitespace -->
<rule pattern="\s+">
<token type="Text"/>
</rule>
<!-- Comments: '#' to end-of-line and C-style comments -->
<rule pattern="#[^\n]*">
<token type="Comment"/>
</rule>
<rule pattern="/\*">
<token type="Comment"/>
<push state="comment"/>
</rule>
<!-- Strings -->
<rule pattern="&quot;(\\.|[^\\&quot;])*&quot;">
<token type="LiteralString"/>
</rule>
<rule pattern="&#39;(\\.|[^\\&#39;])*&#39;">
<token type="LiteralString"/>
</rule>
<!-- Numbers -->
<rule pattern="\b\d+\.\d*([eE][+-]?\d+)?\b">
<token type="LiteralNumberFloat"/>
</rule>
<rule pattern="\b\d+[eE][+-]?\d+\b">
<token type="LiteralNumberFloat"/>
</rule>
<rule pattern="\b\d+\b">
<token type="LiteralNumberInteger"/>
</rule>
<!-- Commands / Reserved keywords -->
<rule pattern="\b(call|cd|close|commands|data|delete|display|drop|end|environ|exit|expand|include|load|model|objective|option|problem|purge|quit|redeclare|reload|remove|reset|restore|shell|show|solexpand|solution|solve|update|unload|xref|coeff|coef|cover|obj|interval|default|from|to|to_come|net_in|net_out|dimen|dimension|check|complements|write|function|pipe|format|if|then|else|in|while|repeat|for)\b">
<token type="KeywordReserved"/>
</rule>
<!-- Types -->
<rule pattern="\b(integer|binary|symbolic|ordered|circular|reversed|INOUT|IN|OUT|LOCAL)\b">
<token type="KeywordType"/>
</rule>
<!-- Declarations (set/param/var etc) -->
<rule pattern="\b(set|param|var|arc|minimize|maximize|subject to|s\.t\.|subj to|node|table|suffix|read table|write table)\b">
<token type="KeywordDeclaration"/>
</rule>
<!-- Builtins / Functions -->
<rule pattern="\b(abs|acos|acosh|alias|asin|asinh|atan|atan2|atanh|ceil|ctime|cos|exp|floor|log|log10|max|min|precision|round|sin|sinh|sqrt|tan|tanh|time|trunc|Beta|Cauchy|Exponential|Gamma|Irand224|Normal|Normal01|Poisson|Uniform|Uniform01|num|num0|ichar|char|length|substr|sprintf|match|sub|gsub|print|printf|next|nextw|prev|prevw|first|last|ord|ord0|card|arity|indexarity)\b">
<token type="NameBuiltin"/>
</rule>
<!-- Operator words (logical/set operators) -->
<rule pattern="\b(or|exists|forall|and|in|not|within|union|diff|difference|symdiff|inter|intersect|intersection|cross|setof|by|less|sum|prod|product|div|mod)\b">
<token type="OperatorWord"/>
</rule>
<!-- Identifiers -->
<rule pattern="[A-Za-z_][A-Za-z0-9_]*(?:\.[A-Za-z0-9_]+)*">
<token type="Name"/>
</rule>
<!-- Operators and punctuation -->
<rule pattern="\+|\-|\*|/|\*\*|=|&lt;=|&gt;=|==|\||\^|&lt;|&gt;|\!|\.\.|:=|\&amp;|\!=|&lt;&lt;|&gt;&gt;">
<token type="Operator"/>
</rule>
<rule pattern="[(),;:\[\]{}.]">
<token type="Punctuation"/>
</rule>
</state>
<state name="comment">
<rule pattern="[^*]+">
<token type="Comment"/>
</rule>
<rule pattern="\*/">
<token type="Comment"/>
<pop depth="1"/>
</rule>
<rule pattern="\*">
<token type="Comment"/>
</rule>
</state>
</rules>
</lexer>

View File

@@ -0,0 +1,37 @@
<lexer>
<config>
<name>ERB</name>
<dot_all>true</dot_all>
</config>
<rules>
<state name="root">
<rule pattern="(&lt;%#)(.*?)(-?%&gt;)">
<bygroups>
<token type="CommentPreproc"/>
<token type="Comment"/>
<token type="CommentPreproc"/>
</bygroups>
</rule>
<rule pattern="(&lt;%-?=)(.*?)(-?%&gt;)">
<bygroups>
<token type="CommentPreproc"/>
<using lexer="Ruby"/>
<token type="CommentPreproc"/>
</bygroups>
</rule>
<rule pattern="(&lt;%-?)(.*?)(-?%&gt;)">
<bygroups>
<token type="CommentPreproc"/>
<using lexer="Ruby"/>
<token type="CommentPreproc"/>
</bygroups>
</rule>
<rule pattern="[^&lt;]+">
<token type="Other"/>
</rule>
<rule pattern="&lt;">
<token type="Other"/>
</rule>
</state>
</rules>
</lexer>

View File

@@ -56,7 +56,7 @@
<token type="Text"/>
<pop depth="1"/>
</rule>
<rule pattern="([;#]|//).*?\n">
<rule pattern="([;#@|!]|//).*\n?">
<token type="CommentSingle"/>
<pop depth="1"/>
</rule>
@@ -114,7 +114,7 @@
<token type="Text"/>
<pop depth="1"/>
</rule>
<rule pattern="([;#]|//).*?\n">
<rule pattern="([;#@|!]|//).*\n?">
<token type="CommentSingle"/>
<pop depth="1"/>
</rule>
@@ -139,7 +139,7 @@
<rule pattern="\s+">
<token type="Text"/>
</rule>
<rule pattern="([;#]|//).*?\n">
<rule pattern="([;#@|!]|//).*\n?">
<token type="CommentSingle"/>
</rule>
<rule pattern="/[*][\w\W]*?[*]/">

View File

@@ -0,0 +1,24 @@
<lexer>
<config>
<name>Gettext</name>
<alias>pot</alias>
<alias>po</alias>
<filename>*.pot</filename>
<filename>*.po</filename>
<mime_type>application/x-gettext</mime_type>
<mime_type>text/x-gettext</mime_type>
<mime_type>text/gettext</mime_type>
</config>
<rules>
<state name="root">
<rule pattern="^#,\s.*?$"><token type="KeywordType"/></rule>
<rule pattern="^#:\s.*?$"><token type="KeywordDeclaration"/></rule>
<rule pattern="^(#|#\.\s|#\|\s|#~\s|#\s).*$"><token type="CommentSingle"/></rule>
<rule pattern="^(&quot;)([A-Za-z-]+:)(.*&quot;)$"><bygroups><token type="LiteralString"/><token type="NameProperty"/><token type="LiteralString"/></bygroups></rule>
<rule pattern="^&quot;.*&quot;$"><token type="LiteralString"/></rule>
<rule pattern="^(msgid|msgid_plural|msgstr|msgctxt)(\s+)(&quot;.*&quot;)$"><bygroups><token type="NameVariable"/><token type="Text"/><token type="LiteralString"/></bygroups></rule>
<rule pattern="^(msgstr\[)(\d)(\])(\s+)(&quot;.*&quot;)$"><bygroups><token type="NameVariable"/><token type="LiteralNumberInteger"/><token type="NameVariable"/><token type="Text"/><token type="LiteralString"/></bygroups></rule>
</state>
</rules>
</lexer>

View File

@@ -76,6 +76,10 @@
</rule>
</state>
<state name="type">
<rule pattern="[\{\}\(\)\[\]]">
<token type="Punctuation"/>
<pop depth="1"/>
</rule>
<rule pattern="[^\W\d]\w*">
<token type="NameClass"/>
<pop depth="1"/>

View File

@@ -133,7 +133,7 @@
<token type="KeywordDeclaration"/>
<push state="slashstartsregex"/>
</rule>
<rule pattern="(abstract|async|await|boolean|byte|char|class|const|debugger|double|enum|export|extends|final|float|goto|implements|import|int|interface|long|native|package|private|protected|public|short|static|super|synchronized|throws|transient|volatile)\b">
<rule pattern="(abstract|async|await|boolean|byte|char|class|const|debugger|double|enum|export|extends|final|float|goto|implements|import|int|interface|long|native|package|private|protected|public|short|static|super|synchronized|throws|transient|using|volatile)\b">
<token type="KeywordReserved"/>
</rule>
<rule pattern="(true|false|null|NaN|Infinity|undefined)\b">

View File

@@ -4,7 +4,9 @@
<alias>json</alias>
<filename>*.json</filename>
<filename>*.jsonc</filename>
<filename>*.json5</filename>
<filename>*.avsc</filename>
<filename>.luaurc</filename>
<mime_type>application/json</mime_type>
<dot_all>true</dot_all>
<not_multiline>true</not_multiline>

View File

@@ -0,0 +1,184 @@
<lexer>
<config>
<name>Lateralus</name>
<alias>lateralus</alias>
<alias>ltl</alias>
<filename>*.ltl</filename>
<mime_type>text/x-lateralus</mime_type>
<ensure_nl>true</ensure_nl>
</config>
<rules>
<state name="root">
<!-- Whitespace -->
<rule pattern="\s+">
<token type="TextWhitespace"/>
</rule>
<!-- Comments -->
<rule pattern="///[^\n]*">
<token type="CommentSpecial"/>
</rule>
<rule pattern="//[^\n]*">
<token type="CommentSingle"/>
</rule>
<rule pattern="/\*">
<token type="CommentMultiline"/>
<push state="block_comment"/>
</rule>
<!-- Attribute decorators: @memo, @doc("...") -->
<rule pattern="@[A-Za-z_][A-Za-z0-9_]*">
<token type="NameDecorator"/>
</rule>
<!-- Capability annotations: #[caps(io, net)] -->
<rule pattern="#\[">
<token type="NameDecorator"/>
<push state="attribute"/>
</rule>
<!-- Control flow / declaration keywords -->
<rule pattern="(fn|let|mut|match|if|else|elif|while|for|in|return|break|continue|import|export|module|pub|priv|struct|enum|impl|trait|where|type|const|static|async|await|spawn|guard|defer|use|as|self|Self|super|yield|do)\b">
<token type="Keyword"/>
</rule>
<!-- Builtin types -->
<rule pattern="(int|i8|i16|i32|i64|i128|uint|u8|u16|u32|u64|u128|float|f32|f64|bool|str|char|bytes|any|never|list|map|set|tuple|Option|Result|Some|None|Ok|Err)\b">
<token type="KeywordType"/>
</rule>
<!-- Boolean / null literals -->
<rule pattern="(true|false|null)\b">
<token type="KeywordConstant"/>
</rule>
<!-- Builtin functions -->
<rule pattern="(print|println|eprint|eprintln|format|panic|assert|assert_eq|todo|unimplemented|unreachable|len|range|map|filter|reduce|fold|zip|enumerate|sort|sorted|reverse|sum|min|max)\b">
<token type="NameBuiltin"/>
</rule>
<!-- Function definition -->
<rule pattern="(fn)(\s+)([A-Za-z_][A-Za-z0-9_]*)">
<bygroups>
<token type="Keyword"/>
<token type="TextWhitespace"/>
<token type="NameFunction"/>
</bygroups>
</rule>
<!-- Type / struct / enum / trait / impl definition -->
<rule pattern="(struct|enum|trait|type|impl)(\s+)([A-Z][A-Za-z0-9_]*)">
<bygroups>
<token type="Keyword"/>
<token type="TextWhitespace"/>
<token type="NameClass"/>
</bygroups>
</rule>
<!-- Module path: foo::bar -->
<rule pattern="([A-Za-z_][A-Za-z0-9_]*)(::)">
<bygroups>
<token type="NameNamespace"/>
<token type="Punctuation"/>
</bygroups>
</rule>
<!-- ADT variant: UppercaseIdentifier -->
<rule pattern="[A-Z][A-Za-z0-9_]*">
<token type="NameClass"/>
</rule>
<!-- Raw strings: r"...", r#"..."# -->
<rule pattern="r#&#34;.*?&#34;#">
<token type="LiteralString"/>
</rule>
<rule pattern="r&#34;[^&#34;\\]*(?:\\.[^&#34;\\]*)*&#34;">
<token type="LiteralString"/>
</rule>
<!-- Byte strings -->
<rule pattern="b&#34;">
<token type="LiteralString"/>
<push state="string"/>
</rule>
<!-- Regular / interpolated strings -->
<rule pattern="&#34;">
<token type="LiteralString"/>
<push state="string"/>
</rule>
<!-- Char literals -->
<rule pattern="&#39;(?:\\.|[^&#39;\\])&#39;">
<token type="LiteralStringChar"/>
</rule>
<!-- Numeric literals -->
<rule pattern="[0-9][0-9_]*\.[0-9][0-9_]*(?:[eE][-+]?[0-9][0-9_]*)?(?:_?f(32|64))?">
<token type="LiteralNumberFloat"/>
</rule>
<rule pattern="0x[0-9a-fA-F][0-9a-fA-F_]*(?:_?[iu](8|16|32|64|128))?">
<token type="LiteralNumberHex"/>
</rule>
<rule pattern="0o[0-7][0-7_]*(?:_?[iu](8|16|32|64|128))?">
<token type="LiteralNumberOct"/>
</rule>
<rule pattern="0b[01][01_]*(?:_?[iu](8|16|32|64|128))?">
<token type="LiteralNumberBin"/>
</rule>
<rule pattern="[0-9][0-9_]*(?:_?[iu](8|16|32|64|128))?">
<token type="LiteralNumberInteger"/>
</rule>
<!-- Pipeline operator (signature feature) -->
<rule pattern="\|&gt;">
<token type="Operator"/>
</rule>
<!-- Other operators -->
<rule pattern="(==|!=|&lt;=|&gt;=|-&gt;|=&gt;|&amp;&amp;|\|\||&lt;&lt;|&gt;&gt;|::|\.\.=?|\?\?|[+\-*/%&lt;&gt;!=&amp;|\^~?])">
<token type="Operator"/>
</rule>
<!-- Punctuation -->
<rule pattern="[{}()\[\];,.:]">
<token type="Punctuation"/>
</rule>
<!-- Identifiers -->
<rule pattern="[A-Za-z_][A-Za-z0-9_]*">
<token type="Name"/>
</rule>
</state>
<state name="block_comment">
<rule pattern="[^/*]+">
<token type="CommentMultiline"/>
</rule>
<rule pattern="/\*">
<token type="CommentMultiline"/>
<push/>
</rule>
<rule pattern="\*/">
<token type="CommentMultiline"/>
<pop depth="1"/>
</rule>
<rule pattern="[/*]">
<token type="CommentMultiline"/>
</rule>
</state>
<state name="string">
<rule pattern="\\[nrt&#39;&#34;\\0]">
<token type="LiteralStringEscape"/>
</rule>
<rule pattern="\\x[0-9a-fA-F]{2}">
<token type="LiteralStringEscape"/>
</rule>
<rule pattern="\\u\{[0-9a-fA-F]+\}">
<token type="LiteralStringEscape"/>
</rule>
<rule pattern="\{[^}]*\}">
<token type="LiteralStringInterpol"/>
</rule>
<rule pattern="[^&#34;\\{}]+">
<token type="LiteralString"/>
</rule>
<rule pattern="&#34;">
<token type="LiteralString"/>
<pop depth="1"/>
</rule>
</state>
<state name="attribute">
<rule pattern="[^\[\]]+">
<token type="NameDecorator"/>
</rule>
<rule pattern="\[">
<token type="NameDecorator"/>
<push/>
</rule>
<rule pattern="\]">
<token type="NameDecorator"/>
<pop depth="1"/>
</rule>
</state>
</rules>
</lexer>

View File

@@ -2,10 +2,8 @@
<config>
<name>Lua</name>
<alias>lua</alias>
<alias>luau</alias>
<filename>*.lua</filename>
<filename>*.wlua</filename>
<filename>*.luau</filename>
<mime_type>text/x-lua</mime_type>
<mime_type>application/x-lua</mime_type>
</config>

View File

@@ -0,0 +1,173 @@
<lexer>
<config>
<name>Luau</name>
<alias>luau</alias>
<filename>*.luau</filename>
</config>
<rules>
<state name="root">
<rule pattern="#!.*"><token type="CommentHashbang"/><push state="base"/></rule>
<rule><push state="base"/></rule>
</state>
<state name="ws">
<rule pattern="(?:--\[(?&lt;level&gt;=*)\[[\w\W]*?\](?=level)\])"><token type="CommentMultiline"/></rule>
<rule pattern="(?:--.*$)"><token type="CommentSingle"/></rule>
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
</state>
<state name="base">
<rule><include state="ws"/></rule>
<rule pattern="\{"><token type="Punctuation"/><push state="closing_brace_base" state="expression"/></rule>
<rule pattern="\("><token type="Punctuation"/><push state="closing_parenthesis_base" state="expression"/></rule>
<rule pattern="::?"><token type="Punctuation"/><push state="type_end" state="type_start"/></rule>
<rule pattern="&#x27;"><token type="LiteralStringSingle"/><push state="string_single"/></rule>
<rule pattern="&quot;"><token type="LiteralStringDouble"/><push state="string_double"/></rule>
<rule pattern="`"><token type="LiteralStringBacktick"/><push state="string_interpolated"/></rule>
<rule pattern="\.\.\."><token type="Punctuation"/></rule>
<rule pattern="type\b(?=(?:(?:--\[(?&lt;level&gt;=*)\[[\w\W]*?\](?=level)\])|(?:--.*$)|\s+)+[a-zA-Z_])"><token type="KeywordReserved"/><push state="type_declaration"/></rule>
<rule pattern="export\b(?=(?:(?:--\[(?&lt;level&gt;=*)\[[\w\W]*?\](?=level)\])|(?:--.*$)|\s+)+[a-zA-Z_])"><token type="KeywordReserved"/></rule>
<rule pattern="(?:\.\.|//|[+\-*\/%^&lt;&gt;=])=?"><token type="Operator"/><push state="expression"/></rule>
<rule pattern="~="><token type="Operator"/><push state="expression"/></rule>
<rule pattern="(and|or|not)\b"><token type="OperatorWord"/><push state="expression"/></rule>
<rule pattern="(elseif|for|if|in|repeat|return|until|while)\b"><token type="KeywordReserved"/><push state="expression"/></rule>
<rule pattern="local\b"><token type="KeywordDeclaration"/><push state="expression"/></rule>
<rule pattern="function\b"><token type="KeywordReserved"/><push state="expression" state="func_name"/></rule>
<rule pattern="[\])};]+"><token type="Punctuation"/></rule>
<rule><include state="expression_static"/></rule>
<rule pattern="0[xX][\da-fA-F_]*"><token type="LiteralNumberHex"/></rule>
<rule pattern="0[bB][\d_]*"><token type="LiteralNumberBin"/></rule>
<rule pattern="\.?\d[\d_]*(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?"><token type="LiteralNumberFloat"/></rule>
<rule pattern="(true|false|nil)\b"><token type="KeywordConstant"/></rule>
<rule pattern="\[(=*)\[[.\n]*?\]\1\]"><token type="LiteralString"/></rule>
<rule pattern="(\.)([a-zA-Z_]\w*)(?=%s*[({&quot;\&#x27;])"><bygroups><token type="Punctuation"/><token type="NameFunction"/></bygroups></rule>
<rule pattern="(\.)([a-zA-Z_]\w*)"><bygroups><token type="Punctuation"/><token type="NameVariable"/></bygroups></rule>
<rule pattern="[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*(?=(?:(?:--\[(?&lt;level&gt;=*)\[[\w\W]*?\](?=level)\])|(?:--.*$)|\s+)*[({&quot;\&#x27;])"><token type="NameOther"/></rule>
<rule pattern="[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*"><token type="Name"/></rule>
<rule pattern="[\[.,]"><token type="Punctuation"/><push state="expression"/></rule>
</state>
<state name="expression_static">
<rule pattern="(break|continue|do|else|elseif|end|for|if|in|repeat|return|then|until|while)\b"><token type="KeywordReserved"/></rule>
</state>
<state name="expression">
<rule><include state="ws"/></rule>
<rule pattern="if\b"><token type="KeywordReserved"/><push state="ternary" state="expression"/></rule>
<rule pattern="local\b"><token type="KeywordDeclaration"/></rule>
<rule pattern="\{"><token type="Punctuation"/><push state="#pop" state="closing_brace_base" state="expression"/></rule>
<rule pattern="\("><token type="Punctuation"/><push state="#pop" state="closing_parenthesis_base" state="expression"/></rule>
<rule pattern="::?"><token type="Punctuation"/><push state="#pop" state="type_end" state="type_start"/></rule>
<rule pattern="&#x27;"><token type="LiteralStringSingle"/><push state="#pop" state="string_single"/></rule>
<rule pattern="&quot;"><token type="LiteralStringDouble"/><push state="#pop" state="string_double"/></rule>
<rule pattern="`"><token type="LiteralStringBacktick"/><push state="#pop" state="string_interpolated"/></rule>
<rule pattern="\.\.\."><token type="Punctuation"/><pop depth="1"/></rule>
<rule pattern="function\b"><token type="KeywordReserved"/><push state="func_name"/></rule>
<rule><include state="expression_static"/></rule>
<rule pattern="0[xX][\da-fA-F_]*"><token type="LiteralNumberHex"/><pop depth="1"/></rule>
<rule pattern="0[bB][\d_]*"><token type="LiteralNumberBin"/><pop depth="1"/></rule>
<rule pattern="\.?\d[\d_]*(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?"><token type="LiteralNumberFloat"/><pop depth="1"/></rule>
<rule pattern="(true|false|nil)\b"><token type="KeywordConstant"/><pop depth="1"/></rule>
<rule pattern="\[(=*)\[[.\n]*?\]\1\]"><token type="LiteralString"/><pop depth="1"/></rule>
<rule pattern="(\.)([a-zA-Z_]\w*)(?=%s*[({&quot;\&#x27;])"><bygroups><token type="Punctuation"/><token type="NameFunction"/></bygroups><pop depth="1"/></rule>
<rule pattern="(\.)([a-zA-Z_]\w*)"><bygroups><token type="Punctuation"/><token type="NameVariable"/></bygroups><pop depth="1"/></rule>
<rule pattern="[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*(?=(?:(?:--\[(?&lt;level&gt;=*)\[[\w\W]*?\](?=level)\])|(?:--.*$)|\s+)*[({&quot;\&#x27;])"><token type="NameOther"/><pop depth="1"/></rule>
<rule pattern="[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*"><token type="Name"/><pop depth="1"/></rule>
<rule><pop depth="1"/></rule>
</state>
<state name="ternary">
<rule><include state="ws"/></rule>
<rule pattern="else\b"><token type="KeywordReserved"/><pop depth="1"/></rule>
<rule pattern="(then|elseif)\b"><token type="OperatorReserved"/><push state="expression"/></rule>
<rule><pop depth="1"/></rule>
</state>
<state name="closing_brace_pop">
<rule pattern="\}"><token type="Punctuation"/><pop depth="1"/></rule>
</state>
<state name="closing_parenthesis_pop">
<rule pattern="\)"><token type="Punctuation"/><pop depth="1"/></rule>
</state>
<state name="closing_gt_pop">
<rule pattern="&gt;"><token type="Punctuation"/><pop depth="1"/></rule>
</state>
<state name="closing_parenthesis_base">
<rule><include state="closing_parenthesis_pop"/></rule>
<rule><include state="base"/></rule>
</state>
<state name="closing_parenthesis_type">
<rule><include state="closing_parenthesis_pop"/></rule>
<rule><include state="type"/></rule>
</state>
<state name="closing_brace_base">
<rule><include state="closing_brace_pop"/></rule>
<rule><include state="base"/></rule>
</state>
<state name="closing_brace_type">
<rule><include state="closing_brace_pop"/></rule>
<rule><include state="type"/></rule>
</state>
<state name="closing_gt_type">
<rule><include state="closing_gt_pop"/></rule>
<rule><include state="type"/></rule>
</state>
<state name="string_escape">
<rule pattern="\\z\s*"><token type="LiteralStringEscape"/></rule>
<rule pattern="\\(?:[abfnrtvz\\&quot;\&#x27;`\{\n])|[\r\n]{1,2}|x[\da-fA-F]{2}|\d{1,3}|u\{\}[\da-fA-F]*\}"><token type="LiteralStringEscape"/></rule>
</state>
<state name="string_single">
<rule><include state="string_escape"/></rule>
<rule pattern="&#x27;"><token type="LiteralStringSingle"/><pop depth="1"/></rule>
<rule pattern="[^\\&#x27;]+"><token type="LiteralStringSingle"/></rule>
</state>
<state name="string_double">
<rule><include state="string_escape"/></rule>
<rule pattern="&quot;"><token type="LiteralStringDouble"/><pop depth="1"/></rule>
<rule pattern="[^\\&quot;]+"><token type="LiteralStringDouble"/></rule>
</state>
<state name="string_interpolated">
<rule><include state="string_escape"/></rule>
<rule pattern="\{"><token type="Punctuation"/><push state="closing_brace_base" state="expression"/></rule>
<rule pattern="`"><token type="LiteralStringBacktick"/><pop depth="1"/></rule>
<rule pattern="[^\\`\{]+"><token type="LiteralStringBacktick"/></rule>
</state>
<state name="func_name">
<rule><include state="ws"/></rule>
<rule pattern="[.:]"><token type="Punctuation"/></rule>
<rule pattern="[a-zA-Z_]\w*(?=(?:(?:--\[(?&lt;level&gt;=*)\[[\w\W]*?\](?=level)\])|(?:--.*$)|\s+)*[.:])"><token type="NameClass"/></rule>
<rule pattern="[a-zA-Z_]\w*"><token type="NameFunction"/></rule>
<rule pattern="&lt;"><token type="Punctuation"/><push state="closing_gt_type"/></rule>
<rule pattern="\("><token type="Punctuation"/><pop depth="1"/></rule>
</state>
<state name="type">
<rule><include state="ws"/></rule>
<rule pattern="\("><token type="Punctuation"/><push state="closing_parenthesis_type"/></rule>
<rule pattern="\{"><token type="Punctuation"/><push state="closing_brace_type"/></rule>
<rule pattern="&lt;"><token type="Punctuation"/><push state="closing_gt_type"/></rule>
<rule pattern="&#x27;"><token type="LiteralStringSingle"/><push state="string_single"/></rule>
<rule pattern="&quot;"><token type="LiteralStringDouble"/><push state="string_double"/></rule>
<rule pattern="[|&amp;\.,\[\]:=]+"><token type="Punctuation"/></rule>
<rule pattern="-&gt;"><token type="Punctuation"/></rule>
<rule pattern="typeof\("><token type="NameBuiltin"/><push state="closing_parenthesis_base" state="expression"/></rule>
<rule pattern="[a-zA-Z_]\w*"><token type="NameClass"/></rule>
</state>
<state name="type_start">
<rule><include state="ws"/></rule>
<rule pattern="\("><token type="Punctuation"/><push state="#pop" state="closing_parenthesis_type"/></rule>
<rule pattern="\{"><token type="Punctuation"/><push state="#pop" state="closing_brace_type"/></rule>
<rule pattern="&lt;"><token type="Punctuation"/><push state="#pop" state="closing_gt_type"/></rule>
<rule pattern="&#x27;"><token type="LiteralStringSingle"/><push state="#pop" state="string_single"/></rule>
<rule pattern="&quot;"><token type="LiteralStringDouble"/><push state="#pop" state="string_double"/></rule>
<rule pattern="typeof\("><token type="NameBuiltin"/><push state="#pop" state="closing_parenthesis_base" state="expression"/></rule>
<rule pattern="[a-zA-Z_]\w*"><token type="NameClass"/><pop depth="1"/></rule>
</state>
<state name="type_end">
<rule><include state="ws"/></rule>
<rule pattern="[|&amp;\.]"><token type="Punctuation"/><push state="type_start"/></rule>
<rule pattern="-&gt;"><token type="Punctuation"/><push state="type_start"/></rule>
<rule pattern="&lt;"><token type="Punctuation"/><push state="closing_gt_type"/></rule>
<rule><pop depth="1"/></rule>
</state>
<state name="type_declaration">
<rule><include state="ws"/></rule>
<rule pattern="[a-zA-Z_]\w*"><token type="NameClass"/></rule>
<rule pattern="&lt;"><token type="Punctuation"/><push state="closing_gt_type"/></rule>
<rule pattern="="><token type="Punctuation"/><push state="#pop" state="type_end" state="type_start"/></rule>
</state>
</rules>
</lexer>

View File

@@ -45,7 +45,7 @@
</emitters>
</usingbygroup>
</rule>
<rule pattern="(ACCESS|ADD|ADDRESSES|AGGREGATE|ALIGNED|ALL|ALTER|ANALYSIS|AND|ANY|ARITY|ARN|ARRANGEMENT|ARRAY|AS|ASC|ASSERT|ASSUME|AT|AUCTION|AUTHORITY|AVAILABILITY|AVRO|AWS|BATCH|BEGIN|BETWEEN|BIGINT|BILLED|BODY|BOOLEAN|BOTH|BPCHAR|BROKEN|BROKER|BROKERS|BY|BYTES|CARDINALITY|CASCADE|CASE|CAST|CERTIFICATE|CHAIN|CHAINS|CHAR|CHARACTER|CHARACTERISTICS|CHECK|CLASS|CLIENT|CLOCK|CLOSE|CLUSTER|CLUSTERS|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPACTION|COMPATIBILITY|COMPRESSION|COMPUTE|COMPUTECTL|CONFIG|CONFLUENT|CONNECTION|CONNECTIONS|CONSTRAINT|CONTINUAL|COPY|COUNT|COUNTER|CREATE|CREATECLUSTER|CREATEDB|CREATEROLE|CREATION|CROSS|CSV|CURRENT|CURSOR|DATABASE|DATABASES|DATUMS|DAY|DAYS|DEALLOCATE|DEBEZIUM|DEBUG|DEBUGGING|DEC|DECIMAL|DECLARE|DECODING|DECORRELATED|DEFAULT|DEFAULTS|DELETE|DELIMITED|DELIMITER|DELTA|DESC|DETAILS|DISCARD|DISK|DISTINCT|DOC|DOT|DOUBLE|DROP|EAGER|ELEMENT|ELSE|ENABLE|END|ENDPOINT|ENFORCED|ENVELOPE|ERROR|ERRORS|ESCAPE|ESTIMATE|EVERY|EXCEPT|EXCLUDE|EXECUTE|EXISTS|EXPECTED|EXPLAIN|EXPOSE|EXPRESSIONS|EXTERNAL|EXTRACT|FACTOR|FALSE|FAST|FEATURES|FETCH|FIELDS|FILE|FILTER|FIRST|FIXPOINT|FLOAT|FOLLOWING|FOR|FOREIGN|FORMAT|FORWARD|FROM|FULL|FULLNAME|FUNCTION|FUSION|GENERATOR|GRANT|GREATEST|GROUP|GROUPS|HAVING|HEADER|HEADERS|HISTORY|HOLD|HOST|HOUR|HOURS|HUMANIZED|HYDRATION|ID|IDENTIFIERS|IDS|IF|IGNORE|ILIKE|IMPLEMENTATIONS|IMPORTED|IN|INCLUDE|INDEX|INDEXES|INFO|INHERIT|INLINE|INNER|INPUT|INSERT|INSIGHTS|INSPECT|INT|INTEGER|INTERNAL|INTERSECT|INTERVAL|INTO|INTROSPECTION|IS|ISNULL|ISOLATION|JOIN|JOINS|JSON|KAFKA|KEY|KEYS|LAST|LATERAL|LATEST|LEADING|LEAST|LEFT|LEGACY|LETREC|LEVEL|LIKE|LIMIT|LINEAR|LIST|LOAD|LOCAL|LOCALLY|LOG|LOGICAL|LOGIN|LOWERING|MANAGED|MANUAL|MAP|MARKETING|MATERIALIZE|MATERIALIZED|MAX|MECHANISMS|MEMBERSHIP|MESSAGE|METADATA|MINUTE|MINUTES|MODE|MONTH|MONTHS|MUTUALLY|MYSQL|NAME|NAMES|NATURAL|NEGATIVE|NEW|NEXT|NO|NOCREATECLUSTER|NOCREATEDB|NOCREATEROLE|NODE|NOINHERIT|NOLOGIN|NON|NONE|NOSUPERUSER|NOT|NOTICE|NOTICES|NULL|NULLIF|NULLS|OBJECTS|OF|OFFSET|ON|ONLY|OPERATOR|OPTIMIZED|OPTIMIZER|OPTIONS|OR|ORDER|ORDINALITY|OUTER|OVER|OWNED|OWNER|PARTITION|PARTITIONS|PASSWORD|PATH|PHYSICAL|PLAN|PLANS|PORT|POSITION|POSTGRES|PRECEDING|PRECISION|PREFIX|PREPARE|PRIMARY|PRIVATELINK|PRIVILEGES|PROGRESS|PROTOBUF|PROTOCOL|PUBLIC|PUBLICATION|PUSHDOWN|QUERY|QUOTE|RAISE|RANGE|RATE|RAW|READ|READY|REAL|REASSIGN|RECURSION|RECURSIVE|REDACTED|REDUCE|REFERENCE|REFERENCES|REFRESH|REGEX|REGION|REGISTRY|RENAME|REOPTIMIZE|REPEATABLE|REPLACE|REPLAN|REPLICA|REPLICAS|REPLICATION|RESET|RESPECT|RESTRICT|RETAIN|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLES|ROLLBACK|ROTATE|ROUNDS|ROW|ROWS|SASL|SCALE|SCHEDULE|SCHEMA|SCHEMAS|SECOND|SECONDS|SECRET|SECRETS|SECURITY|SEED|SELECT|SEQUENCES|SERIALIZABLE|SERVICE|SESSION|SET|SHARD|SHOW|SINK|SINKS|SIZE|SMALLINT|SNAPSHOT|SOME|SOURCE|SOURCES|SSH|SSL|START|STDIN|STDOUT|STORAGE|STORAGECTL|STRATEGY|STRICT|STRING|STRONG|SUBSCRIBE|SUBSOURCE|SUBSOURCES|SUBSTRING|SUBTREE|SUPERUSER|SWAP|SYNTAX|SYSTEM|TABLE|TABLES|TAIL|TASK|TEMP|TEMPORARY|TEXT|THEN|TICK|TIES|TIME|TIMELINE|TIMEOUT|TIMESTAMP|TIMESTAMPTZ|TIMING|TO|TOKEN|TOPIC|TPCH|TRACE|TRAILING|TRANSACTION|TRANSACTIONAL|TRIM|TRUE|TUNNEL|TYPE|TYPES|UNBOUNDED|UNCOMMITTED|UNION|UNIQUE|UNKNOWN|UNNEST|UNTIL|UP|UPDATE|UPSERT|URL|USAGE|USER|USERNAME|USERS|USING|VALIDATE|VALUE|VALUES|VARCHAR|VARIADIC|VARYING|VERSION|VIEW|VIEWS|WAIT|WARNING|WEBHOOK|WHEN|WHERE|WINDOW|WIRE|WITH|WITHIN|WITHOUT|WORK|WORKERS|WORKLOAD|WRITE|YEAR|YEARS|YUGABYTE|ZONE|ZONES)\b">
<rule pattern="(ABORT|ACCESS|ACTION|ADD|ADDED|ADDRESS|ADDRESSES|AFTER|AGGREGATE|AGGREGATION|ALIGNED|ALL|ALTER|ANALYSE|ANALYSIS|ANALYZE|AND|ANY|APPLY|ARITY|ARN|ARRANGED|ARRANGEMENT|ARRAY|AS|ASC|ASSERT|ASSUME|AT|AUCTION|AUTHORITY|AVAILABILITY|AVRO|AWS|BATCH|BEGIN|BETWEEN|BIGINT|BILLED|BODY|BOOLEAN|BOTH|BPCHAR|BROKEN|BROKER|BROKERS|BY|BYTES|CAPTURE|CARDINALITY|CASCADE|CASE|CAST|CATALOG|CERTIFICATE|CHAIN|CHAINS|CHAR|CHARACTER|CHARACTERISTICS|CHECK|CLASS|CLIENT|CLOCK|CLOSE|CLUSTER|CLUSTERS|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPACTION|COMPATIBILITY|COMPRESSION|COMPUTE|COMPUTECTL|CONFIG|CONFLUENT|CONNECTION|CONNECTIONS|CONSTRAINT|CONTINUAL|COPY|COUNT|COUNTER|CPU|CREATE|CREATECLUSTER|CREATEDB|CREATENETWORKPOLICY|CREATEROLE|CREATION|CREDENTIAL|CROSS|CSE|CSV|CURRENT|CURSOR|DATABASE|DATABASES|DATUMS|DAY|DAYS|DEALLOCATE|DEBEZIUM|DEBUG|DEBUGGING|DEC|DECIMAL|DECLARE|DECODING|DECORRELATED|DEFAULT|DEFAULTS|DELETE|DELIMITED|DELIMITER|DELTA|DESC|DETAILS|DIRECTION|DISCARD|DISK|DISTINCT|DOC|DOT|DOUBLE|DROP|EAGER|ELEMENT|ELSE|ENABLE|END|ENDPOINT|ENFORCED|ENVELOPE|EQUIVALENCES|ERROR|ERRORS|ESCAPE|ESTIMATE|EVERY|EXCEPT|EXCLUDE|EXECUTE|EXISTS|EXPECTED|EXPLAIN|EXPOSE|EXPRESSIONS|EXTERNAL|EXTRACT|FACTOR|FALSE|FAST|FEATURES|FETCH|FIELDS|FILE|FILES|FILTER|FIRST|FIXPOINT|FLOAT|FOLLOWING|FOR|FOREIGN|FORMAT|FORWARD|FROM|FULL|FULLNAME|FUNCTION|FUSION|GENERATOR|GRANT|GREATEST|GROUP|GROUPS|HAVING|HEADER|HEADERS|HINTS|HISTORY|HOLD|HOST|HOUR|HOURS|HUMANIZED|HYDRATION|ICEBERG|ID|IDENTIFIERS|IDS|IF|IGNORE|ILIKE|IMPLEMENTATIONS|IMPORTED|IN|INCLUDE|INDEX|INDEXES|INFO|INHERIT|INLINE|INNER|INPUT|INSERT|INSIGHTS|INSPECT|INSTANCE|INT|INTEGER|INTERNAL|INTERSECT|INTERVAL|INTO|INTROSPECTION|IS|ISNULL|ISOLATION|JOIN|JOINS|JSON|KAFKA|KEY|KEYS|LAST|LATERAL|LATEST|LEADING|LEAST|LEFT|LEGACY|LETREC|LEVEL|LIKE|LIMIT|LINEAR|LIST|LOAD|LOCAL|LOCALLY|LOG|LOGICAL|LOGIN|LOWERING|MANAGED|MANUAL|MAP|MARKETING|MATERIALIZE|MATERIALIZED|MAX|MECHANISMS|MEMBERSHIP|MEMORY|MESSAGE|METADATA|MINUTE|MINUTES|MODE|MONTH|MONTHS|MUTUALLY|MYSQL|NAME|NAMES|NAMESPACE|NATURAL|NEGATIVE|NETWORK|NEW|NEXT|NFC|NFD|NFKC|NFKD|NO|NOCREATECLUSTER|NOCREATEDB|NOCREATEROLE|NODE|NOINHERIT|NOLOGIN|NON|NONE|NORMALIZE|NOSUPERUSER|NOT|NOTICE|NOTICES|NULL|NULLIF|NULLS|OBJECTS|OF|OFFSET|ON|ONLY|OPERATOR|OPTIMIZED|OPTIMIZER|OPTIONS|OR|ORDER|ORDINALITY|OUTER|OVER|OWNED|OWNER|PARTITION|PARTITIONS|PASSWORD|PATH|PATTERN|PHYSICAL|PLAN|PLANS|POLICIES|POLICY|PORT|POSITION|POSTGRES|PRECEDING|PRECISION|PREFIX|PREPARE|PRIMARY|PRIORITIZE|PRIVATELINK|PRIVILEGES|PROGRESS|PROJECTION|PROTOBUF|PROTOCOL|PUBLIC|PUBLICATION|PUSHDOWN|QUALIFY|QUERY|QUOTE|RAISE|RANGE|RATE|RAW|READ|READY|REAL|REASSIGN|RECURSION|RECURSIVE|REDACTED|REDUCE|REFERENCE|REFERENCES|REFRESH|REGEX|REGION|REGISTRY|RELATION|RENAME|REOPTIMIZE|REPEATABLE|REPLACE|REPLACEMENT|REPLAN|REPLICA|REPLICAS|REPLICATION|RESET|RESPECT|RESTRICT|RETAIN|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLES|ROLLBACK|ROTATE|ROUNDS|ROW|ROWS|RULES|SASL|SCALE|SCHEDULE|SCHEMA|SCHEMAS|SCOPE|SECOND|SECONDS|SECRET|SECRETS|SECURITY|SEED|SELECT|SEQUENCES|SERIALIZABLE|SERVER|SERVICE|SESSION|SET|SHARD|SHOW|SINK|SINKS|SIZE|SKEW|SMALLINT|SNAPSHOT|SOME|SOURCE|SOURCES|SQL|SSH|SSL|START|STDIN|STDOUT|STORAGE|STORAGECTL|STRATEGY|STRICT|STRING|STRONG|SUBSCRIBE|SUBSOURCE|SUBSOURCES|SUBSTRING|SUBTREE|SUPERUSER|SWAP|SYNTAX|SYSTEM|TABLE|TABLES|TAIL|TASK|TASKS|TEMP|TEMPORARY|TEXT|THEN|TICK|TIES|TIME|TIMEOUT|TIMESTAMP|TIMESTAMPTZ|TIMING|TO|TOKEN|TOPIC|TPCH|TRACE|TRAILING|TRANSACTION|TRANSACTIONAL|TRANSFORM|TRIM|TRUE|TUNNEL|TYPE|TYPES|UNBOUNDED|UNCOMMITTED|UNION|UNIQUE|UNKNOWN|UNNEST|UNTIL|UP|UPDATE|UPSERT|URL|USAGE|USER|USERNAME|USERS|USING|VALIDATE|VALUE|VALUES|VARCHAR|VARIADIC|VARYING|VERBOSE|VERSION|VIEW|VIEWS|WAIT|WAREHOUSE|WARNING|WEBHOOK|WHEN|WHERE|WHILE|WINDOW|WIRE|WITH|WITHIN|WITHOUT|WORK|WORKERS|WORKLOAD|WRITE|YEAR|YEARS|ZONE|ZONES)\b">
<token type="Keyword" />
</rule>
<rule pattern="[+*/&lt;&gt;=~!@#%^&amp;|`?-]+">

View File

@@ -4,6 +4,7 @@
<alias>meson</alias>
<alias>meson.build</alias>
<filename>meson.build</filename>
<filename>meson.options</filename>
<filename>meson_options.txt</filename>
<mime_type>text/x-meson</mime_type>
</config>

View File

@@ -38,7 +38,7 @@
<rule pattern="\s+">
<token type="TextWhitespace"/>
</rule>
<rule pattern="(#|--\s+).*\n?">
<rule pattern="(#|--).*\n?">
<token type="CommentSingle"/>
</rule>
<rule pattern="/\*">

View File

@@ -54,7 +54,7 @@
<rule pattern="\\([nrt&#34;$\\]|[0-7]{1,3}|x[0-9a-f]{1,2})">
<token type="LiteralStringEscape"/>
</rule>
<rule pattern="\$(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*(\[\S+?\]|-&gt;(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)?">
<rule pattern="\$(?:[_a-z]|[^\x00-\x7f])(?:\w|[^\x00-\x7f])*(\[\S+?\]|-&gt;(?:[_a-z]|[^\x00-\x7f])(?:\w|[^\x00-\x7f])*)?">
<token type="LiteralStringInterpol"/>
</rule>
<rule pattern="(\{\$\{)(.*?)(\}\})">
@@ -82,12 +82,46 @@
<token type="LiteralStringDouble"/>
</rule>
</state>
<state name="variablevariable">
<rule pattern="\}">
<token type="NameVariable"/>
<pop depth="1"/>
</rule>
<rule>
<include state="root"/>
</rule>
</state>
<state name="attribute">
<rule pattern="\]">
<token type="Punctuation"/>
<pop depth="1"/>
</rule>
<rule pattern="\(">
<token type="Punctuation"/>
<push state="attributeparams"/>
</rule>
<rule pattern="(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*">
<token type="NameDecorator"/>
</rule>
<rule>
<include state="root"/>
</rule>
</state>
<state name="attributeparams">
<rule pattern="\)">
<token type="Punctuation"/>
<pop depth="1"/>
</rule>
<rule>
<include state="root"/>
</rule>
</state>
<state name="root">
<rule pattern="\?&gt;">
<token type="CommentPreproc"/>
<pop depth="1"/>
</rule>
<rule pattern="(&lt;&lt;&lt;)([\&#39;&#34;]?)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)(\2\n.*?\n\s*)(\3)(;?)(\n)">
<rule pattern="(&lt;&lt;&lt;)([\&#39;&#34;]?)((?:[_a-z]|[^\x00-\x7f])(?:\w|[^\x00-\x7f])*)(\2\n.*?\n\s*)(\3)(;?)(\n)">
<bygroups>
<token type="LiteralString"/>
<token type="LiteralString"/>
@@ -101,6 +135,10 @@
<rule pattern="\s+">
<token type="Text"/>
</rule>
<rule pattern="#\[">
<token type="Punctuation"/>
<push state="attribute"/>
</rule>
<rule pattern="#.*?\n">
<token type="CommentSingle"/>
</rule>
@@ -116,7 +154,7 @@
<rule pattern="/\*.*?\*/">
<token type="CommentMultiline"/>
</rule>
<rule pattern="(-&gt;|::)(\s*)((?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*)">
<rule pattern="(-&gt;|::)(\s*)((?:[_a-z]|[^\x00-\x7f])(?:\w|[^\x00-\x7f])*)">
<bygroups>
<token type="Operator"/>
<token type="Text"/>
@@ -132,6 +170,13 @@
<rule pattern="[\[\]{}();,]+">
<token type="Punctuation"/>
</rule>
<rule pattern="(new)(\s+)(class)\b">
<bygroups>
<token type="Keyword"/>
<token type="Text"/>
<token type="Keyword"/>
</bygroups>
</rule>
<rule pattern="(class)(\s+)">
<bygroups>
<token type="Keyword"/>
@@ -161,7 +206,7 @@
<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">
<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|match)\b">
<token type="Keyword"/>
</rule>
<rule pattern="(true|false|null)\b">
@@ -170,8 +215,9 @@
<rule>
<include state="magicconstants"/>
</rule>
<rule pattern="\$\{\$+(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*\}">
<rule pattern="\$\{">
<token type="NameVariable"/>
<push state="variablevariable"/>
</rule>
<rule pattern="\$+(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*">
<token type="NameVariable"/>
@@ -185,7 +231,7 @@
<rule pattern="\d+e[+-]?[0-9]+">
<token type="LiteralNumberFloat"/>
</rule>
<rule pattern="0[0-7]+">
<rule pattern="0o?[0-7_]+">
<token type="LiteralNumberOct"/>
</rule>
<rule pattern="0x[a-f0-9_]+">
@@ -194,7 +240,7 @@
<rule pattern="\d[\d_]*">
<token type="LiteralNumberInteger"/>
</rule>
<rule pattern="0b[01]+">
<rule pattern="0b[01_]+">
<token type="LiteralNumberBin"/>
</rule>
<rule pattern="&#39;([^&#39;\\]*(?:\\.[^&#39;\\]*)*)&#39;">

View File

@@ -0,0 +1,115 @@
<lexer>
<config>
<name>scdoc</name>
<alias>scdoc</alias>
<filename>*.scd</filename>
<filename>*.scdoc</filename>
</config>
<rules>
<state name="root">
<rule pattern="(?m)^; .*$">
<token type="Comment"/>
</rule>
<rule pattern="(?m)^([A-Z][A-Z0-9_-]*)(\()([0-9]+)(\))(.*)$">
<bygroups>
<token type="NameFunction"/>
<token type="Punctuation"/>
<token type="LiteralNumber"/>
<token type="Punctuation"/>
<token type="Text"/>
</bygroups>
</rule>
<rule pattern="(?m)^(##)( +)(.+)$">
<bygroups>
<token type="GenericSubheading"/>
<token type="Text"/>
<token type="Text"/>
</bygroups>
</rule>
<rule pattern="(?m)^(#)( +)(.+)$">
<bygroups>
<token type="GenericHeading"/>
<token type="Text"/>
<token type="GenericStrong"/>
</bygroups>
</rule>
<rule pattern="(?m)^```$">
<token type="LiteralStringBacktick"/>
<push state="literal_block"/>
</rule>
<rule pattern="(?m)^(\s*)(- )(.*)$">
<bygroups>
<token type="Text"/>
<token type="Keyword"/>
<usingself state="inline"/>
</bygroups>
</rule>
<rule pattern="(?m)^(\s*)(\. )(.*)$">
<bygroups>
<token type="Text"/>
<token type="Keyword"/>
<usingself state="inline"/>
</bygroups>
</rule>
<rule pattern="(?m)^\t[^ \t].*$">
<token type="LiteralStringBacktick"/>
</rule>
<rule pattern="(?m)^\t+$">
<token type="LiteralStringBacktick"/>
</rule>
<rule pattern="(?m)^(\s*)([|:\[\]].*)$">
<bygroups>
<token type="Text"/>
<token type="Punctuation"/>
</bygroups>
</rule>
<rule pattern="(?m)^(.*)(\+\+)$">
<bygroups>
<usingself state="inline"/>
<token type="Operator"/>
</bygroups>
</rule>
<rule>
<include state="inline"/>
</rule>
</state>
<state name="literal_block">
<rule pattern="(?m)^```$">
<token type="LiteralStringBacktick"/>
<pop depth="1"/>
</rule>
<rule pattern=".*\n?">
<token type="LiteralStringBacktick"/>
</rule>
</state>
<state name="inline">
<rule pattern="\\.">
<token type="LiteralStringEscape"/>
</rule>
<rule pattern="(\*)([^*\n]+)(\*)">
<bygroups>
<token type="Punctuation"/>
<token type="GenericStrong"/>
<token type="Punctuation"/>
</bygroups>
</rule>
<rule pattern="(_)([^_\n]+?)(_)((?=\W|\n|$))">
<bygroups>
<token type="Punctuation"/>
<token type="GenericUnderline"/>
<token type="Punctuation"/>
<token type="Text"/>
</bygroups>
</rule>
<rule pattern="[^*_\\\n]+">
<token type="Text"/>
</rule>
<rule pattern="\n">
<token type="Text"/>
</rule>
<rule pattern=".">
<token type="Text"/>
</rule>
</state>
</rules>
</lexer>

View File

@@ -0,0 +1,292 @@
<lexer>
<config>
<name>Spade</name>
<alias>spade</alias>
<filename>*.spade</filename>
<mime_type>text/spade</mime_type>
<mime_type>text/x-spade</mime_type>
<ensure_nl>true</ensure_nl>
</config>
<rules>
<state name="modname">
<rule pattern="\s+">
<token type="Text"/>
</rule>
<rule pattern="[a-zA-Z_]\w*">
<token type="NameNamespace"/>
<pop depth="1"/>
</rule>
<rule>
<pop depth="1"/>
</rule>
</state>
<state name="number_lit">
<rule pattern="[ui]\d*">
<token type="Keyword"/>
<pop depth="1"/>
</rule>
<rule>
<pop depth="1"/>
</rule>
</state>
<state name="attribute_common">
<rule pattern="&#34;">
<token type="LiteralString"/>
<push state="string"/>
</rule>
<rule pattern="\[">
<token type="CommentPreproc"/>
<push state="attribute["/>
</rule>
</state>
<state name="comment">
<rule pattern="[^*/]+">
<token type="CommentMultiline"/>
</rule>
<rule pattern="/\*">
<token type="CommentMultiline"/>
<push/>
</rule>
<rule pattern="\*/">
<token type="CommentMultiline"/>
<pop depth="1"/>
</rule>
<rule pattern="[*/]">
<token type="CommentMultiline"/>
</rule>
</state>
<state name="doccomment">
<rule pattern="[^*/]+">
<token type="LiteralStringDoc"/>
</rule>
<rule pattern="/\*">
<token type="LiteralStringDoc"/>
<push/>
</rule>
<rule pattern="\*/">
<token type="LiteralStringDoc"/>
<pop depth="1"/>
</rule>
<rule pattern="[*/]">
<token type="LiteralStringDoc"/>
</rule>
</state>
<state name="funcname">
<rule pattern="\s+">
<token type="Text"/>
</rule>
<rule pattern="[a-zA-Z_]\w*">
<token type="NameFunction"/>
<pop depth="1"/>
</rule>
<rule>
<pop depth="1"/>
</rule>
</state>
<state name="string">
<rule pattern="&#34;">
<token type="LiteralString"/>
<pop depth="1"/>
</rule>
<rule pattern="\\[&#39;&#34;\\nrt]|\\(?=\n)|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}">
<token type="LiteralStringEscape"/>
</rule>
<rule pattern="[^\\&#34;]+">
<token type="LiteralString"/>
</rule>
<rule pattern="\\">
<token type="LiteralString"/>
</rule>
</state>
<state name="root">
<rule pattern="#![^[\r\n].*$">
<token type="CommentPreproc"/>
</rule>
<rule>
<push state="base"/>
</rule>
</state>
<state name="attribute[">
<rule>
<include state="attribute_common"/>
</rule>
<rule pattern="\]">
<token type="CommentPreproc"/>
<pop depth="1"/>
</rule>
<rule pattern="[^&#34;\]\[]+">
<token type="CommentPreproc"/>
</rule>
</state>
<state name="base">
<rule pattern="\n">
<token type="TextWhitespace"/>
</rule>
<rule pattern="\s+">
<token type="TextWhitespace"/>
</rule>
<rule pattern="//!.*?\n">
<token type="LiteralStringDoc"/>
</rule>
<rule pattern="///(\n|[^/].*?\n)">
<token type="LiteralStringDoc"/>
</rule>
<rule pattern="//(.*?)\n">
<token type="CommentSingle"/>
</rule>
<rule pattern="/\*\*(\n|[^/*])">
<token type="LiteralStringDoc"/>
<push state="doccomment"/>
</rule>
<rule pattern="/\*!">
<token type="LiteralStringDoc"/>
<push state="doccomment"/>
</rule>
<rule pattern="/\*">
<token type="CommentMultiline"/>
<push state="comment"/>
</rule>
<rule pattern="&#34;">
<token type="LiteralString"/>
<push state="string"/>
</rule>
<rule pattern="\$([a-zA-Z_]\w*|\(,?|\),?|,?)">
<token type="CommentPreproc"/>
</rule>
<rule pattern="(reg|decl|inst|reset|initial|if|else|match|set|pipeline|stage|entity|trait|impl|for|fn|port|mod|use|as|assert|mut|inv|pub|where|gen)\b">
<token type="Keyword"/>
</rule>
<rule pattern="(true|false)\b">
<token type="KeywordConstant"/>
</rule>
<rule pattern="self\b">
<token type="NameBuiltinPseudo"/>
</rule>
<rule pattern="mod\b">
<token type="Keyword"/>
<push state="modname"/>
</rule>
<rule pattern="let\b">
<token type="KeywordDeclaration"/>
</rule>
<rule pattern="fn\b">
<token type="Keyword"/>
<push state="funcname"/>
</rule>
<rule pattern="(struct|enum)\b">
<token type="Keyword"/>
<push state="typename"/>
</rule>
<rule pattern="(default)(\s+)(type|fn)\b">
<bygroups>
<token type="Keyword"/>
<token type="Text"/>
<token type="Keyword"/>
</bygroups>
</rule>
<rule pattern="(int|uint|bool|clock|inout)\b">
<token type="KeywordType"/>
</rule>
<rule pattern="[sS]elf\b">
<token type="NameBuiltinPseudo"/>
</rule>
<rule pattern="(Option|Fn|Entity|Pipeline)\b">
<token type="NameBuiltin"/>
</rule>
<rule pattern="::\b">
<token type="Text"/>
</rule>
<rule pattern="(?::|-&gt;)">
<token type="Text"/>
<push state="typename"/>
</rule>
<rule pattern="&#39;[A-z0-9_]+">
<token type="NameLabel"/>
</rule>
<rule pattern="&#39;(\\[&#39;&#34;\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)&#39;">
<token type="LiteralStringChar"/>
</rule>
<rule pattern="(b)(&#39;(?:\\[&#39;&#34;\\nrt]|\\x[0-9a-fA-F]{2}|\\0|.)&#39;)">
<bygroups>
<token type="LiteralStringAffix"/>
<token type="LiteralStringChar"/>
</bygroups>
</rule>
<rule pattern="0b[01_]+">
<token type="LiteralNumberBin"/>
<push state="number_lit"/>
</rule>
<rule pattern="0[xX][0-9a-fA-F_]+">
<token type="LiteralNumberHex"/>
<push state="number_lit"/>
</rule>
<rule pattern="[0-9][0-9_]*">
<token type="LiteralNumberInteger"/>
<push state="number_lit"/>
</rule>
<rule pattern="\.\.=?">
<token type="Operator"/>
</rule>
<rule pattern="`[A-z0-9_]+`">
<token type="Operator"/>
</rule>
<rule pattern="[{}()\[\],.;]">
<token type="Punctuation"/>
</rule>
<rule pattern="[+\-*/%&amp;|&lt;&gt;^!~@=:?]">
<token type="Operator"/>
</rule>
<rule pattern="\b(r#)?_?([A-Z][A-Z0-9_]*){2,}\b">
<token type="NameConstant"/>
</rule>
<rule pattern="([a-zA-Z_]\w*!)(\s*)(\(|\[|\{)">
<bygroups>
<token type="NameFunctionMagic"/>
<token type="TextWhitespace"/>
<token type="Punctuation"/>
</bygroups>
</rule>
<rule pattern="(r#)?[a-zA-Z_]\w*">
<token type="Name"/>
</rule>
<rule pattern="r#[a-zA-Z_]\w*">
<token type="Name"/>
</rule>
<rule pattern="#!?\[">
<token type="CommentPreproc"/>
<push state="attribute["/>
</rule>
<rule pattern="#">
<token type="Text"/>
</rule>
</state>
<state name="typename">
<rule pattern="\s+">
<token type="Text"/>
</rule>
<rule pattern="&amp;">
<token type="KeywordPseudo"/>
</rule>
<rule pattern="&#39;(static|_)">
<token type="NameBuiltin"/>
</rule>
<rule pattern="&#39;">
<token type="NameAttribute"/>
<push state="lifetime"/>
</rule>
<rule pattern="(Option|Fn|Entity|Pipeline)\b">
<token type="NameBuiltin"/>
</rule>
<rule pattern="(int|uint|bool|clock|inout)\b">
<token type="KeywordType"/>
</rule>
<rule pattern="[a-zA-Z_]\w*">
<token type="NameClass"/>
<pop depth="1"/>
</rule>
<rule>
<pop depth="1"/>
</rule>
</state>
</rules>
</lexer>

View File

@@ -226,7 +226,7 @@
<push state="slashstartsregex" />
</rule>
<rule
pattern="(abstract|async|boolean|class|const|debugger|enum|export|extends|from|get|global|goto|implements|import|interface|namespace|package|private|protected|public|readonly|require|set|static|super|type)\b"
pattern="(abstract|async|boolean|class|const|debugger|enum|export|extends|from|get|global|goto|implements|import|interface|namespace|package|private|protected|public|readonly|require|set|static|super|type|using)\b"
>
<token type="KeywordReserved" />
</rule>

View File

@@ -10,6 +10,7 @@
<filename>*.wsdl</filename>
<filename>*.wsf</filename>
<filename>*.svg</filename>
<filename>*.qrc</filename>
<filename>*.csproj</filename>
<filename>*.vcxproj</filename>
<filename>*.fsproj</filename>

29
vendor/github.com/alecthomas/chroma/v2/lexers/erb.go generated vendored Normal file
View File

@@ -0,0 +1,29 @@
package lexers
import (
"strings"
. "github.com/alecthomas/chroma/v2" // nolint
)
// ERB lexer is Ruby embedded in HTML.
var ERB = Register(DelegatingLexer(HTML, MustNewXMLLexer(
embedded,
"embedded/erb.xml",
).SetConfig(
&Config{
Name: "ERB",
Aliases: []string{"erb", "html+erb", "html+ruby", "rhtml"},
Filenames: []string{"*.erb", "*.html.erb", "*.xml.erb", "*.rhtml"},
MimeTypes: []string{"application/x-ruby-templating"},
DotAll: true,
},
).SetAnalyser(func(text string) float32 {
if strings.Contains(text, "<%=") && strings.Contains(text, "%>") {
return 0.4
}
if strings.Contains(text, "<%") {
return 0.1
}
return 0.0
})))