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.rs92
1 files changed, 47 insertions, 45 deletions
diff --git a/crates/ra_ide/src/syntax_highlighting/tags.rs b/crates/ra_ide/src/syntax_highlighting/tags.rs
index df2fc3c48..0b12bdef5 100644
--- a/crates/ra_ide/src/syntax_highlighting/tags.rs
+++ b/crates/ra_ide/src/syntax_highlighting/tags.rs
@@ -14,70 +14,71 @@ 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, 17 Attribute,
18 Enum,
19 Union,
20 Trait,
21 TypeAlias,
22 BuiltinType, 18 BuiltinType,
23 19 ByteLiteral,
20 CharLiteral,
21 Comment,
22 Constant,
23 Enum,
24 EnumVariant,
24 Field, 25 Field,
25 Function, 26 Function,
26 Module, 27 Keyword,
27 Constant, 28 Lifetime,
28 Macro, 29 Macro,
29 Variable, 30 Module,
30 31 NumericLiteral,
31 TypeSelf, 32 SelfType,
33 Static,
34 StringLiteral,
35 Struct,
36 Trait,
37 TypeAlias,
32 TypeParam, 38 TypeParam,
33 TypeLifetime, 39 Union,
34 40 Local,
35 LiteralByte,
36 LiteralNumeric,
37 LiteralChar,
38
39 Comment,
40 LiteralString,
41 Attribute,
42
43 Keyword,
44} 41}
45 42
46#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] 43#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
47#[repr(u8)] 44#[repr(u8)]
48pub enum HighlightModifier { 45pub enum HighlightModifier {
49 Mutable = 0,
50 Unsafe,
51 /// Used with keywords like `if` and `break`. 46 /// Used with keywords like `if` and `break`.
52 Control, 47 Control = 0,
48 /// `foo` in `fn foo(x: i32)` is a definition, `foo` in `foo(90 + 2)` is
49 /// not.
50 Definition,
51 Mutable,
52 Unsafe,
53} 53}
54 54
55impl HighlightTag { 55impl HighlightTag {
56 fn as_str(self) -> &'static str { 56 fn as_str(self) -> &'static str {
57 match self { 57 match self {
58 HighlightTag::Struct => "struct", 58 HighlightTag::Attribute => "attribute",
59 HighlightTag::Enum => "enum",
60 HighlightTag::Union => "union",
61 HighlightTag::Trait => "trait",
62 HighlightTag::TypeAlias => "type_alias",
63 HighlightTag::BuiltinType => "builtin_type", 59 HighlightTag::BuiltinType => "builtin_type",
64 60 HighlightTag::ByteLiteral => "byte_literal",
61 HighlightTag::CharLiteral => "char_literal",
62 HighlightTag::Comment => "comment",
63 HighlightTag::Constant => "constant",
64 HighlightTag::Enum => "enum",
65 HighlightTag::EnumVariant => "enum_variant",
65 HighlightTag::Field => "field", 66 HighlightTag::Field => "field",
66 HighlightTag::Function => "function", 67 HighlightTag::Function => "function",
67 HighlightTag::Module => "module",
68 HighlightTag::Constant => "constant",
69 HighlightTag::Macro => "macro",
70 HighlightTag::Variable => "variable",
71 HighlightTag::TypeSelf => "type.self",
72 HighlightTag::TypeParam => "type.param",
73 HighlightTag::TypeLifetime => "type.lifetime",
74 HighlightTag::LiteralByte => "literal.byte",
75 HighlightTag::LiteralNumeric => "literal.numeric",
76 HighlightTag::LiteralChar => "literal.char",
77 HighlightTag::Comment => "comment",
78 HighlightTag::LiteralString => "string",
79 HighlightTag::Attribute => "attribute",
80 HighlightTag::Keyword => "keyword", 68 HighlightTag::Keyword => "keyword",
69 HighlightTag::Lifetime => "lifetime",
70 HighlightTag::Macro => "macro",
71 HighlightTag::Module => "module",
72 HighlightTag::NumericLiteral => "numeric_literal",
73 HighlightTag::SelfType => "self_type",
74 HighlightTag::Static => "static",
75 HighlightTag::StringLiteral => "string",
76 HighlightTag::Struct => "struct",
77 HighlightTag::Trait => "trait",
78 HighlightTag::TypeAlias => "type_alias",
79 HighlightTag::TypeParam => "type_param",
80 HighlightTag::Union => "union",
81 HighlightTag::Local => "variable",
81 } 82 }
82 } 83 }
83} 84}
@@ -94,9 +95,10 @@ impl HighlightModifier {
94 95
95 fn as_str(self) -> &'static str { 96 fn as_str(self) -> &'static str {
96 match self { 97 match self {
98 HighlightModifier::Control => "control",
99 HighlightModifier::Definition => "declaration",
97 HighlightModifier::Mutable => "mutable", 100 HighlightModifier::Mutable => "mutable",
98 HighlightModifier::Unsafe => "unsafe", 101 HighlightModifier::Unsafe => "unsafe",
99 HighlightModifier::Control => "control",
100 } 102 }
101 } 103 }
102 104