]> git.lizzy.rs Git - micro.git/blob - runtime/syntax/rust.yaml
Merge branch 'diff-gutter' of https://github.com/p-e-w/micro
[micro.git] / runtime / syntax / rust.yaml
1 filetype: rust
2
3 detect:
4     filename: "\\.rs$"
5
6 rules:
7     # function definition
8     - identifier: "fn [a-z0-9_]+"
9       # Reserved words
10     - statement: "\\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"
11       # macros
12     - special: "[a-z_]+!"
13       # Constants
14     - constant: "[A-Z][A-Z_]+"
15       # Numbers
16     - constant.number: "\\b[0-9]+\\b"
17       # Traits/Enums/Structs/Types/etc.
18     - type: "[A-Z][a-z]+"
19
20     - constant.string:
21         start: "\""
22         end: "\""
23         skip: "\\\\."
24         rules:
25             - constant.specialChar: "\\\\."
26
27     - constant.string:
28         start: "r#+\""
29         end: "\"#+"
30         rules: []
31
32     - comment:
33         start: "//"
34         end: "$"
35         rules:
36             - todo: "(TODO|XXX|FIXME):?"
37
38     - comment:
39         start: "/\\*"
40         end: "\\*/"
41         rules:
42             - todo: "(TODO|XXX|FIXME):?"
43
44     - special:
45         start: "#!\\["
46         end: "\\]"
47         rules: []
48