Mercurial > yakumo_izuru > aya
view 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 source
<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>