Mercurial > yakumo_izuru > aya
diff vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rust.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/rust.xml Sun Jul 23 13:18:53 2023 +0000 @@ -0,0 +1,329 @@ +<lexer> + <config> + <name>Rust</name> + <alias>rust</alias> + <alias>rs</alias> + <filename>*.rs</filename> + <filename>*.rs.in</filename> + <mime_type>text/rust</mime_type> + <mime_type>text/x-rust</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="lifetime"> + <rule pattern="(static|_)"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="[a-zA-Z_]+\w*"> + <token type="NameAttribute"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="number_lit"> + <rule pattern="[ui](8|16|32|64|size)"> + <token type="Keyword"/> + <pop depth="1"/> + </rule> + <rule pattern="f(32|64)"> + <token type="Keyword"/> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="attribute_common"> + <rule pattern="""> + <token type="LiteralString"/> + <push state="string"/> + </rule> + <rule pattern="\["> + <token type="CommentPreproc"/> + <push state="attribute["/> + </rule> + </state> + <state name="bytestring"> + <rule pattern="\\x[89a-fA-F][0-9a-fA-F]"> + <token type="LiteralStringEscape"/> + </rule> + <rule> + <include state="string"/> + </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="""> + <token type="LiteralString"/> + <pop depth="1"/> + </rule> + <rule pattern="\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}"> + <token type="LiteralStringEscape"/> + </rule> + <rule pattern="[^\\"]+"> + <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="[^"\]\[]+"> + <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="r#*"(?:\\.|[^\\;])*"#*"> + <token type="LiteralString"/> + </rule> + <rule pattern=""(?:\\.|[^\\"])*""> + <token type="LiteralString"/> + </rule> + <rule pattern="\$([a-zA-Z_]\w*|\(,?|\),?|,?)"> + <token type="CommentPreproc"/> + </rule> + <rule pattern="(unsafe|static|extern|return|const|crate|where|while|await|trait|super|async|match|impl|else|move|loop|pub|ref|mut|for|dyn|use|box|in|if|as)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(abstract|override|unsized|virtual|become|typeof|final|macro|yield|priv|try|do)\b"> + <token type="KeywordReserved"/> + </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|type|union)\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="(isize|usize|bool|char|u128|i128|i64|i32|i16|str|u64|u32|f32|f64|u16|i8|u8)\b"> + <token type="KeywordType"/> + </rule> + <rule pattern="[sS]elf\b"> + <token type="NameBuiltinPseudo"/> + </rule> + <rule pattern="(DoubleEndedIterator|ExactSizeIterator|IntoIterator|PartialOrd|PartialEq|ToString|Iterator|ToOwned|Default|Result|String|FnOnce|Extend|Option|FnMut|Unpin|Sized|AsRef|AsMut|Clone|None|From|Into|Sync|drop|Send|Drop|Copy|Some|Ord|Err|Box|Vec|Eq|Ok|Fn)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(is_powerpc64_feature_detected|is_aarch64_feature_detected|is_powerpc_feature_detected|is_mips64_feature_detected|is_mips_feature_detected|is_x86_feature_detected|is_arm_feature_detected|debug_assert_ne|debug_assert_eq|format_args_nl|concat_idents|unimplemented|include_bytes|compile_error|debug_assert|thread_local|trace_macros|macro_rules|format_args|module_path|unreachable|include_str|option_env|global_asm|log_syntax|stringify|assert_ne|assert_eq|llvm_asm|eprintln|include|matches|println|writeln|format|column|assert|concat|eprint|write|panic|print|file|todo|line|env|dbg|vec|cfg|asm)!"> + <token type="NameFunctionMagic"/> + </rule> + <rule pattern="::\b"> + <token type="Text"/> + </rule> + <rule pattern="(?::|->)"> + <token type="Text"/> + <push state="typename"/> + </rule> + <rule pattern="(break|continue)(\b\s*)(\'[A-Za-z_]\w*)?"> + <bygroups> + <token type="Keyword"/> + <token type="TextWhitespace"/> + <token type="NameLabel"/> + </bygroups> + </rule> + <rule pattern="'(\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'"> + <token type="LiteralStringChar"/> + </rule> + <rule pattern="b'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'"> + <token type="LiteralStringChar"/> + </rule> + <rule pattern="0b[01_]+"> + <token type="LiteralNumberBin"/> + <push state="number_lit"/> + </rule> + <rule pattern="0o[0-7_]+"> + <token type="LiteralNumberOct"/> + <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_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)"> + <token type="LiteralNumberFloat"/> + <push state="number_lit"/> + </rule> + <rule pattern="[0-9][0-9_]*"> + <token type="LiteralNumberInteger"/> + <push state="number_lit"/> + </rule> + <rule pattern="b""> + <token type="LiteralString"/> + <push state="bytestring"/> + </rule> + <rule pattern="(?s)b?r(#*)".*?"\1"> + <token type="LiteralString"/> + </rule> + <rule pattern="'"> + <token type="Operator"/> + <push state="lifetime"/> + </rule> + <rule pattern="\.\.=?"> + <token type="Operator"/> + </rule> + <rule pattern="[{}()\[\],.;]"> + <token type="Punctuation"/> + </rule> + <rule pattern="[+\-*/%&|<>^!~@=:?]"> + <token type="Operator"/> + </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="&"> + <token type="KeywordPseudo"/> + </rule> + <rule pattern="'"> + <token type="Operator"/> + <push state="lifetime"/> + </rule> + <rule pattern="(DoubleEndedIterator|ExactSizeIterator|IntoIterator|PartialOrd|PartialEq|ToString|Iterator|ToOwned|Default|Result|String|FnOnce|Extend|Option|FnMut|Unpin|Sized|AsRef|AsMut|Clone|None|From|Into|Sync|drop|Send|Drop|Copy|Some|Ord|Err|Box|Vec|Eq|Ok|Fn)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(isize|usize|bool|char|u128|i128|i64|i32|i16|str|u64|u32|f32|f64|u16|i8|u8)\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> \ No newline at end of file