diff --git a/crates/ra_ide_api/src/syntax_highlighting.rs b/crates/ra_ide_api/src/syntax_highlighting.rs index 878a94f061fb..448acffc86ff 100644 --- a/crates/ra_ide_api/src/syntax_highlighting.rs +++ b/crates/ra_ide_api/src/syntax_highlighting.rs @@ -158,21 +158,17 @@ fn hash(x: T) -> u64 { } else { "variable" } - } else if name - .syntax() - .parent() - .map(|x| { - x.kind() == TYPE_PARAM - || x.kind() == STRUCT_DEF - || x.kind() == ENUM_DEF - || x.kind() == TRAIT_DEF - || x.kind() == TYPE_ALIAS_DEF - }) - .unwrap_or(false) - { - "type" } else { - "function" + name.syntax() + .parent() + .map(|x| match x.kind() { + TYPE_PARAM | STRUCT_DEF | ENUM_DEF | TRAIT_DEF | TYPE_ALIAS_DEF => { + "type" + } + NAMED_FIELD_DEF => "field", + _ => "function", + }) + .unwrap_or("function") } } else { "text"