diff options
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rust.xml')
| -rw-r--r-- | vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rust.xml | 329 |
1 files changed, 329 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rust.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rust.xml new file mode 100644 index 0000000..f41049c --- /dev/null +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/rust.xml | |||
| @@ -0,0 +1,329 @@ | |||
| 1 | <lexer> | ||
| 2 | <config> | ||
| 3 | <name>Rust</name> | ||
| 4 | <alias>rust</alias> | ||
| 5 | <alias>rs</alias> | ||
| 6 | <filename>*.rs</filename> | ||
| 7 | <filename>*.rs.in</filename> | ||
| 8 | <mime_type>text/rust</mime_type> | ||
| 9 | <mime_type>text/x-rust</mime_type> | ||
| 10 | <ensure_nl>true</ensure_nl> | ||
| 11 | </config> | ||
| 12 | <rules> | ||
| 13 | <state name="modname"> | ||
| 14 | <rule pattern="\s+"> | ||
| 15 | <token type="Text"/> | ||
| 16 | </rule> | ||
| 17 | <rule pattern="[a-zA-Z_]\w*"> | ||
| 18 | <token type="NameNamespace"/> | ||
| 19 | <pop depth="1"/> | ||
| 20 | </rule> | ||
| 21 | <rule> | ||
| 22 | <pop depth="1"/> | ||
| 23 | </rule> | ||
| 24 | </state> | ||
| 25 | <state name="lifetime"> | ||
| 26 | <rule pattern="(static|_)"> | ||
| 27 | <token type="NameBuiltin"/> | ||
| 28 | </rule> | ||
| 29 | <rule pattern="[a-zA-Z_]+\w*"> | ||
| 30 | <token type="NameAttribute"/> | ||
| 31 | </rule> | ||
| 32 | <rule> | ||
| 33 | <pop depth="1"/> | ||
| 34 | </rule> | ||
| 35 | </state> | ||
| 36 | <state name="number_lit"> | ||
| 37 | <rule pattern="[ui](8|16|32|64|size)"> | ||
| 38 | <token type="Keyword"/> | ||
| 39 | <pop depth="1"/> | ||
| 40 | </rule> | ||
| 41 | <rule pattern="f(32|64)"> | ||
| 42 | <token type="Keyword"/> | ||
| 43 | <pop depth="1"/> | ||
| 44 | </rule> | ||
| 45 | <rule> | ||
| 46 | <pop depth="1"/> | ||
| 47 | </rule> | ||
| 48 | </state> | ||
| 49 | <state name="attribute_common"> | ||
| 50 | <rule pattern="""> | ||
| 51 | <token type="LiteralString"/> | ||
| 52 | <push state="string"/> | ||
| 53 | </rule> | ||
| 54 | <rule pattern="\["> | ||
| 55 | <token type="CommentPreproc"/> | ||
| 56 | <push state="attribute["/> | ||
| 57 | </rule> | ||
| 58 | </state> | ||
| 59 | <state name="bytestring"> | ||
| 60 | <rule pattern="\\x[89a-fA-F][0-9a-fA-F]"> | ||
| 61 | <token type="LiteralStringEscape"/> | ||
| 62 | </rule> | ||
| 63 | <rule> | ||
| 64 | <include state="string"/> | ||
| 65 | </rule> | ||
| 66 | </state> | ||
| 67 | <state name="comment"> | ||
| 68 | <rule pattern="[^*/]+"> | ||
| 69 | <token type="CommentMultiline"/> | ||
| 70 | </rule> | ||
| 71 | <rule pattern="/\*"> | ||
| 72 | <token type="CommentMultiline"/> | ||
| 73 | <push/> | ||
| 74 | </rule> | ||
| 75 | <rule pattern="\*/"> | ||
| 76 | <token type="CommentMultiline"/> | ||
| 77 | <pop depth="1"/> | ||
| 78 | </rule> | ||
| 79 | <rule pattern="[*/]"> | ||
| 80 | <token type="CommentMultiline"/> | ||
| 81 | </rule> | ||
| 82 | </state> | ||
| 83 | <state name="doccomment"> | ||
| 84 | <rule pattern="[^*/]+"> | ||
| 85 | <token type="LiteralStringDoc"/> | ||
| 86 | </rule> | ||
| 87 | <rule pattern="/\*"> | ||
| 88 | <token type="LiteralStringDoc"/> | ||
| 89 | <push/> | ||
| 90 | </rule> | ||
| 91 | <rule pattern="\*/"> | ||
| 92 | <token type="LiteralStringDoc"/> | ||
| 93 | <pop depth="1"/> | ||
| 94 | </rule> | ||
| 95 | <rule pattern="[*/]"> | ||
| 96 | <token type="LiteralStringDoc"/> | ||
| 97 | </rule> | ||
| 98 | </state> | ||
| 99 | <state name="funcname"> | ||
| 100 | <rule pattern="\s+"> | ||
| 101 | <token type="Text"/> | ||
| 102 | </rule> | ||
| 103 | <rule pattern="[a-zA-Z_]\w*"> | ||
| 104 | <token type="NameFunction"/> | ||
| 105 | <pop depth="1"/> | ||
| 106 | </rule> | ||
| 107 | <rule> | ||
| 108 | <pop depth="1"/> | ||
| 109 | </rule> | ||
| 110 | </state> | ||
| 111 | <state name="string"> | ||
| 112 | <rule pattern="""> | ||
| 113 | <token type="LiteralString"/> | ||
| 114 | <pop depth="1"/> | ||
| 115 | </rule> | ||
| 116 | <rule pattern="\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}"> | ||
| 117 | <token type="LiteralStringEscape"/> | ||
| 118 | </rule> | ||
| 119 | <rule pattern="[^\\"]+"> | ||
| 120 | <token type="LiteralString"/> | ||
| 121 | </rule> | ||
| 122 | <rule pattern="\\"> | ||
| 123 | <token type="LiteralString"/> | ||
| 124 | </rule> | ||
| 125 | </state> | ||
| 126 | <state name="root"> | ||
| 127 | <rule pattern="#![^[\r\n].*$"> | ||
| 128 | <token type="CommentPreproc"/> | ||
| 129 | </rule> | ||
| 130 | <rule> | ||
| 131 | <push state="base"/> | ||
| 132 | </rule> | ||
| 133 | </state> | ||
| 134 | <state name="attribute["> | ||
| 135 | <rule> | ||
| 136 | <include state="attribute_common"/> | ||
| 137 | </rule> | ||
| 138 | <rule pattern="\]"> | ||
| 139 | <token type="CommentPreproc"/> | ||
| 140 | <pop depth="1"/> | ||
| 141 | </rule> | ||
| 142 | <rule pattern="[^"\]\[]+"> | ||
| 143 | <token type="CommentPreproc"/> | ||
| 144 | </rule> | ||
| 145 | </state> | ||
| 146 | <state name="base"> | ||
| 147 | <rule pattern="\n"> | ||
| 148 | <token type="TextWhitespace"/> | ||
| 149 | </rule> | ||
| 150 | <rule pattern="\s+"> | ||
| 151 | <token type="TextWhitespace"/> | ||
| 152 | </rule> | ||
| 153 | <rule pattern="//!.*?\n"> | ||
| 154 | <token type="LiteralStringDoc"/> | ||
| 155 | </rule> | ||
| 156 | <rule pattern="///(\n|[^/].*?\n)"> | ||
| 157 | <token type="LiteralStringDoc"/> | ||
| 158 | </rule> | ||
| 159 | <rule pattern="//(.*?)\n"> | ||
| 160 | <token type="CommentSingle"/> | ||
| 161 | </rule> | ||
| 162 | <rule pattern="/\*\*(\n|[^/*])"> | ||
| 163 | <token type="LiteralStringDoc"/> | ||
| 164 | <push state="doccomment"/> | ||
| 165 | </rule> | ||
| 166 | <rule pattern="/\*!"> | ||
| 167 | <token type="LiteralStringDoc"/> | ||
| 168 | <push state="doccomment"/> | ||
| 169 | </rule> | ||
| 170 | <rule pattern="/\*"> | ||
| 171 | <token type="CommentMultiline"/> | ||
| 172 | <push state="comment"/> | ||
| 173 | </rule> | ||
| 174 | <rule pattern="r#*"(?:\\.|[^\\;])*"#*"> | ||
| 175 | <token type="LiteralString"/> | ||
| 176 | </rule> | ||
| 177 | <rule pattern=""(?:\\.|[^\\"])*""> | ||
| 178 | <token type="LiteralString"/> | ||
| 179 | </rule> | ||
| 180 | <rule pattern="\$([a-zA-Z_]\w*|\(,?|\),?|,?)"> | ||
| 181 | <token type="CommentPreproc"/> | ||
| 182 | </rule> | ||
| 183 | <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"> | ||
| 184 | <token type="Keyword"/> | ||
| 185 | </rule> | ||
| 186 | <rule pattern="(abstract|override|unsized|virtual|become|typeof|final|macro|yield|priv|try|do)\b"> | ||
| 187 | <token type="KeywordReserved"/> | ||
| 188 | </rule> | ||
| 189 | <rule pattern="(true|false)\b"> | ||
| 190 | <token type="KeywordConstant"/> | ||
| 191 | </rule> | ||
| 192 | <rule pattern="self\b"> | ||
| 193 | <token type="NameBuiltinPseudo"/> | ||
| 194 | </rule> | ||
| 195 | <rule pattern="mod\b"> | ||
| 196 | <token type="Keyword"/> | ||
| 197 | <push state="modname"/> | ||
| 198 | </rule> | ||
| 199 | <rule pattern="let\b"> | ||
| 200 | <token type="KeywordDeclaration"/> | ||
| 201 | </rule> | ||
| 202 | <rule pattern="fn\b"> | ||
| 203 | <token type="Keyword"/> | ||
| 204 | <push state="funcname"/> | ||
| 205 | </rule> | ||
| 206 | <rule pattern="(struct|enum|type|union)\b"> | ||
| 207 | <token type="Keyword"/> | ||
| 208 | <push state="typename"/> | ||
| 209 | </rule> | ||
| 210 | <rule pattern="(default)(\s+)(type|fn)\b"> | ||
| 211 | <bygroups> | ||
| 212 | <token type="Keyword"/> | ||
| 213 | <token type="Text"/> | ||
| 214 | <token type="Keyword"/> | ||
| 215 | </bygroups> | ||
| 216 | </rule> | ||
| 217 | <rule pattern="(isize|usize|bool|char|u128|i128|i64|i32|i16|str|u64|u32|f32|f64|u16|i8|u8)\b"> | ||
| 218 | <token type="KeywordType"/> | ||
| 219 | </rule> | ||
| 220 | <rule pattern="[sS]elf\b"> | ||
| 221 | <token type="NameBuiltinPseudo"/> | ||
| 222 | </rule> | ||
| 223 | <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"> | ||
| 224 | <token type="NameBuiltin"/> | ||
| 225 | </rule> | ||
| 226 | <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)!"> | ||
| 227 | <token type="NameFunctionMagic"/> | ||
| 228 | </rule> | ||
| 229 | <rule pattern="::\b"> | ||
| 230 | <token type="Text"/> | ||
| 231 | </rule> | ||
| 232 | <rule pattern="(?::|->)"> | ||
| 233 | <token type="Text"/> | ||
| 234 | <push state="typename"/> | ||
| 235 | </rule> | ||
| 236 | <rule pattern="(break|continue)(\b\s*)(\'[A-Za-z_]\w*)?"> | ||
| 237 | <bygroups> | ||
| 238 | <token type="Keyword"/> | ||
| 239 | <token type="TextWhitespace"/> | ||
| 240 | <token type="NameLabel"/> | ||
| 241 | </bygroups> | ||
| 242 | </rule> | ||
| 243 | <rule pattern="'(\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'"> | ||
| 244 | <token type="LiteralStringChar"/> | ||
| 245 | </rule> | ||
| 246 | <rule pattern="b'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0|\\u\{[0-9a-fA-F]{1,6}\}|.)'"> | ||
| 247 | <token type="LiteralStringChar"/> | ||
| 248 | </rule> | ||
| 249 | <rule pattern="0b[01_]+"> | ||
| 250 | <token type="LiteralNumberBin"/> | ||
| 251 | <push state="number_lit"/> | ||
| 252 | </rule> | ||
| 253 | <rule pattern="0o[0-7_]+"> | ||
| 254 | <token type="LiteralNumberOct"/> | ||
| 255 | <push state="number_lit"/> | ||
| 256 | </rule> | ||
| 257 | <rule pattern="0[xX][0-9a-fA-F_]+"> | ||
| 258 | <token type="LiteralNumberHex"/> | ||
| 259 | <push state="number_lit"/> | ||
| 260 | </rule> | ||
| 261 | <rule pattern="[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)"> | ||
| 262 | <token type="LiteralNumberFloat"/> | ||
| 263 | <push state="number_lit"/> | ||
| 264 | </rule> | ||
| 265 | <rule pattern="[0-9][0-9_]*"> | ||
| 266 | <token type="LiteralNumberInteger"/> | ||
| 267 | <push state="number_lit"/> | ||
| 268 | </rule> | ||
| 269 | <rule pattern="b""> | ||
| 270 | <token type="LiteralString"/> | ||
| 271 | <push state="bytestring"/> | ||
| 272 | </rule> | ||
| 273 | <rule pattern="(?s)b?r(#*)".*?"\1"> | ||
| 274 | <token type="LiteralString"/> | ||
| 275 | </rule> | ||
| 276 | <rule pattern="'"> | ||
| 277 | <token type="Operator"/> | ||
| 278 | <push state="lifetime"/> | ||
| 279 | </rule> | ||
| 280 | <rule pattern="\.\.=?"> | ||
| 281 | <token type="Operator"/> | ||
| 282 | </rule> | ||
| 283 | <rule pattern="[{}()\[\],.;]"> | ||
| 284 | <token type="Punctuation"/> | ||
| 285 | </rule> | ||
| 286 | <rule pattern="[+\-*/%&|<>^!~@=:?]"> | ||
| 287 | <token type="Operator"/> | ||
| 288 | </rule> | ||
| 289 | <rule pattern="(r#)?[a-zA-Z_]\w*"> | ||
| 290 | <token type="Name"/> | ||
| 291 | </rule> | ||
| 292 | <rule pattern="r#[a-zA-Z_]\w*"> | ||
| 293 | <token type="Name"/> | ||
| 294 | </rule> | ||
| 295 | <rule pattern="#!?\["> | ||
| 296 | <token type="CommentPreproc"/> | ||
| 297 | <push state="attribute["/> | ||
| 298 | </rule> | ||
| 299 | <rule pattern="#"> | ||
| 300 | <token type="Text"/> | ||
| 301 | </rule> | ||
| 302 | </state> | ||
| 303 | <state name="typename"> | ||
| 304 | <rule pattern="\s+"> | ||
| 305 | <token type="Text"/> | ||
| 306 | </rule> | ||
| 307 | <rule pattern="&"> | ||
| 308 | <token type="KeywordPseudo"/> | ||
| 309 | </rule> | ||
| 310 | <rule pattern="'"> | ||
| 311 | <token type="Operator"/> | ||
| 312 | <push state="lifetime"/> | ||
| 313 | </rule> | ||
| 314 | <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"> | ||
| 315 | <token type="NameBuiltin"/> | ||
| 316 | </rule> | ||
| 317 | <rule pattern="(isize|usize|bool|char|u128|i128|i64|i32|i16|str|u64|u32|f32|f64|u16|i8|u8)\b"> | ||
| 318 | <token type="KeywordType"/> | ||
| 319 | </rule> | ||
| 320 | <rule pattern="[a-zA-Z_]\w*"> | ||
| 321 | <token type="NameClass"/> | ||
| 322 | <pop depth="1"/> | ||
| 323 | </rule> | ||
| 324 | <rule> | ||
| 325 | <pop depth="1"/> | ||
| 326 | </rule> | ||
| 327 | </state> | ||
| 328 | </rules> | ||
| 329 | </lexer> \ No newline at end of file | ||
