1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
use super::{DEFAULT_QUOTES, Syntax};
use std::collections::BTreeSet;
impl Syntax {
pub fn rust() -> Self {
Syntax {
language: "Rust",
case_sensitive: true,
comment: "//",
comment_multiline: ["/*", "*/"],
quotes: DEFAULT_QUOTES.into(),
hyperlinks: BTreeSet::from(["http"]),
keywords: BTreeSet::from([
"as", "break", "const", "continue", "crate", "else", "enum", "extern", "fn", "for",
"if", "impl", "in", "let", "loop", "match", "mod", "move", "mut", "pub", "ref",
"return", "self", "struct", "super", "trait", "type", "use", "where", "while",
"async", "await", "abstract", "become", "box", "do", "final", "macro", "override",
"priv", "typeof", "unsized", "virtual", "yield", "try", "unsafe", "dyn",
]),
types: BTreeSet::from([
"Option",
"Result",
"Error",
"Box",
"Cow",
// Primitives
"bool",
"i8",
"u8",
"i16",
"u16",
"i32",
"u32",
"i64",
"u64",
"i128",
"u128",
"isize",
"usize",
"f32",
"f64",
"char",
"str",
"String",
// STD Collections
"Vec",
"BTreeMap",
"BTreeSet",
"BTreeMap",
"BTreeSet",
"VecDeque",
"BinaryHeap",
"LinkedList",
// RC
"Rc",
"Weak",
"LazyCell",
"SyncUnsafeCell",
"BorrowError",
"BorrowMutError",
"Cell",
"OnceCell",
"Refl",
"RefCell",
"RefMutl",
"UnsafeCell",
"Exclusive",
"LazyLock",
// ARC
"Arc",
"Barrier",
"BarrierWaitResult",
"Condvar",
"Mutex",
"MutexGuard",
"Once",
"OnceLock",
"OnceState",
"PoisonError",
"RwLock",
"RwLockReadGuard",
"RwLockWriteGuard",
"WaitTimeoutResult",
"Weak",
]),
special: BTreeSet::from(["Self", "static", "true", "false"]),
}
}
}