aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/syntax_highlighting/tags.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide/src/syntax_highlighting/tags.rs')
-rw-r--r--crates/ra_ide/src/syntax_highlighting/tags.rs26
1 files changed, 16 insertions, 10 deletions
diff --git a/crates/ra_ide/src/syntax_highlighting/tags.rs b/crates/ra_ide/src/syntax_highlighting/tags.rs
index 383c74c98..df2fc3c48 100644
--- a/crates/ra_ide/src/syntax_highlighting/tags.rs
+++ b/crates/ra_ide/src/syntax_highlighting/tags.rs
@@ -14,6 +14,13 @@ pub struct HighlightModifiers(u32);
14 14
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] 15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub enum HighlightTag { 16pub enum HighlightTag {
17 Struct,
18 Enum,
19 Union,
20 Trait,
21 TypeAlias,
22 BuiltinType,
23
17 Field, 24 Field,
18 Function, 25 Function,
19 Module, 26 Module,
@@ -21,7 +28,6 @@ pub enum HighlightTag {
21 Macro, 28 Macro,
22 Variable, 29 Variable,
23 30
24 Type,
25 TypeSelf, 31 TypeSelf,
26 TypeParam, 32 TypeParam,
27 TypeLifetime, 33 TypeLifetime,
@@ -44,19 +50,24 @@ pub enum HighlightModifier {
44 Unsafe, 50 Unsafe,
45 /// Used with keywords like `if` and `break`. 51 /// Used with keywords like `if` and `break`.
46 Control, 52 Control,
47 Builtin,
48} 53}
49 54
50impl HighlightTag { 55impl HighlightTag {
51 fn as_str(self) -> &'static str { 56 fn as_str(self) -> &'static str {
52 match self { 57 match self {
58 HighlightTag::Struct => "struct",
59 HighlightTag::Enum => "enum",
60 HighlightTag::Union => "union",
61 HighlightTag::Trait => "trait",
62 HighlightTag::TypeAlias => "type_alias",
63 HighlightTag::BuiltinType => "builtin_type",
64
53 HighlightTag::Field => "field", 65 HighlightTag::Field => "field",
54 HighlightTag::Function => "function", 66 HighlightTag::Function => "function",
55 HighlightTag::Module => "module", 67 HighlightTag::Module => "module",
56 HighlightTag::Constant => "constant", 68 HighlightTag::Constant => "constant",
57 HighlightTag::Macro => "macro", 69 HighlightTag::Macro => "macro",
58 HighlightTag::Variable => "variable", 70 HighlightTag::Variable => "variable",
59 HighlightTag::Type => "type",
60 HighlightTag::TypeSelf => "type.self", 71 HighlightTag::TypeSelf => "type.self",
61 HighlightTag::TypeParam => "type.param", 72 HighlightTag::TypeParam => "type.param",
62 HighlightTag::TypeLifetime => "type.lifetime", 73 HighlightTag::TypeLifetime => "type.lifetime",
@@ -78,19 +89,14 @@ impl fmt::Display for HighlightTag {
78} 89}
79 90
80impl HighlightModifier { 91impl HighlightModifier {
81 const ALL: &'static [HighlightModifier] = &[ 92 const ALL: &'static [HighlightModifier] =
82 HighlightModifier::Mutable, 93 &[HighlightModifier::Mutable, HighlightModifier::Unsafe, HighlightModifier::Control];
83 HighlightModifier::Unsafe,
84 HighlightModifier::Control,
85 HighlightModifier::Builtin,
86 ];
87 94
88 fn as_str(self) -> &'static str { 95 fn as_str(self) -> &'static str {
89 match self { 96 match self {
90 HighlightModifier::Mutable => "mutable", 97 HighlightModifier::Mutable => "mutable",
91 HighlightModifier::Unsafe => "unsafe", 98 HighlightModifier::Unsafe => "unsafe",
92 HighlightModifier::Control => "control", 99 HighlightModifier::Control => "control",
93 HighlightModifier::Builtin => "builtin",
94 } 100 }
95 } 101 }
96 102