Files
cheat/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/spade.xml
dependabot[bot] b40cc1e04e 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>
2026-04-30 22:11:51 +00:00

292 lines
8.0 KiB
XML

<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>