]> git.lizzy.rs Git - micro.git/blob - syntax_files/rust.micro
Add syntax highlighting files
[micro.git] / syntax_files / rust.micro
1 # Nano configuration for Rust
2 # Copyright 2015 The Rust Project Developers.
3 #
4 # NOTE: Rules are applied in order: later rules re-colorize matching text.
5 syntax "Rust" "\.rs"
6
7 # function definition
8 color magenta "fn [a-z0-9_]+"
9
10 # Reserved words
11 color yellow "\b(abstract|alignof|as|become|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|offsetof|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b"
12
13 # macros
14 color red "[a-z_]+!"
15
16 # Constants
17 color magenta "[A-Z][A-Z_]+"
18
19 # Traits/Enums/Structs/Types/etc.
20 color magenta "[A-Z][a-z]+"
21
22 # Strings
23 color green "\".*\""
24 color green "(?s)\".*\\$.*?.*\""
25 # NOTE: This isn't accurate but matching "#{0,} for the end of the string is too liberal
26 color green "(?s)r#+\".*?\"#+"
27
28 # Comments
29 color blue "//.*"
30 color blue "(?s)/\*.*?\*/"
31
32 # Attributes
33 color magenta "(?s)#!\[.*?\]"
34
35 # Some common markers
36 color brightcyan "(XXX|TODO|FIXME|\?\?\?)"