@@ -7,7 +7,7 @@ mod tests;
77
88use hir:: { Name , Semantics } ;
99use ra_ide_db:: {
10- defs:: { classify_name, NameDefinition } ,
10+ defs:: { classify_name, NameClass , NameDefinition } ,
1111 RootDatabase ,
1212} ;
1313use ra_prof:: profile;
@@ -169,19 +169,21 @@ fn highlight_element(
169169 let name = element. into_node ( ) . and_then ( ast:: Name :: cast) . unwrap ( ) ;
170170 let name_kind = classify_name ( sema, & name) ;
171171
172- if let Some ( NameDefinition :: Local ( local) ) = & name_kind {
172+ if let Some ( NameClass :: NameDefinition ( NameDefinition :: Local ( local) ) ) = & name_kind {
173173 if let Some ( name) = local. name ( db) {
174174 let shadow_count = bindings_shadow_count. entry ( name. clone ( ) ) . or_default ( ) ;
175175 * shadow_count += 1 ;
176176 binding_hash = Some ( calc_binding_hash ( & name, * shadow_count) )
177177 }
178178 } ;
179179
180- let h = match name_kind {
181- Some ( name_kind) => highlight_name ( db, name_kind) ,
182- None => highlight_name_by_syntax ( name) ,
183- } ;
184- h | HighlightModifier :: Definition
180+ match name_kind {
181+ Some ( NameClass :: NameDefinition ( def) ) => {
182+ highlight_name ( db, def) | HighlightModifier :: Definition
183+ }
184+ Some ( NameClass :: ConstReference ( def) ) => highlight_name ( db, def) ,
185+ None => highlight_name_by_syntax ( name) | HighlightModifier :: Definition ,
186+ }
185187 }
186188
187189 // Highlight references like the definitions they resolve to
0 commit comments