File tree Expand file tree Collapse file tree 3 files changed +28
-1
lines changed Expand file tree Collapse file tree 3 files changed +28
-1
lines changed Original file line number Diff line number Diff line change 33
33
< span class ="keyword "> pub</ span > < span class ="field declaration "> y</ span > : < span class ="builtin_type "> i32</ span > ,
34
34
}
35
35
36
+ < span class ="keyword "> trait</ span > < span class ="trait declaration "> Bar</ span > {
37
+ < span class ="keyword "> fn</ span > < span class ="function declaration "> bar</ span > (&< span class ="keyword "> self</ span > ) -> < span class ="builtin_type "> i32</ span > ;
38
+ }
39
+
40
+ < span class ="keyword "> impl</ span > < span class ="trait "> Bar</ span > < span class ="keyword "> for</ span > < span class ="struct "> Foo</ span > {
41
+ < span class ="keyword "> fn</ span > < span class ="function declaration "> bar</ span > (&< span class ="keyword "> self</ span > ) -> < span class ="builtin_type "> i32</ span > {
42
+ < span class ="keyword "> self</ span > .< span class ="field "> x</ span >
43
+ }
44
+ }
45
+
36
46
< span class ="keyword "> static</ span > < span class ="keyword "> mut</ span > < span class ="static declaration mutable "> STATIC_MUT</ span > : < span class ="builtin_type "> i32</ span > = < span class ="numeric_literal "> 0</ span > ;
37
47
38
48
< span class ="keyword "> fn</ span > < span class ="function declaration "> foo</ span > << span class ="lifetime declaration "> 'a</ span > , < span class ="type_param declaration "> T</ span > >() -> < span class ="type_param "> T</ span > {
Original file line number Diff line number Diff line change @@ -403,13 +403,13 @@ fn highlight_element(
403
403
T ! [ break ]
404
404
| T ! [ continue ]
405
405
| T ! [ else]
406
- | T ! [ for ]
407
406
| T ! [ if ]
408
407
| T ! [ loop ]
409
408
| T ! [ match ]
410
409
| T ! [ return ]
411
410
| T ! [ while ]
412
411
| T ! [ in] => h | HighlightModifier :: ControlFlow ,
412
+ T ! [ for ] if !is_child_of_impl ( element) => h | HighlightModifier :: ControlFlow ,
413
413
T ! [ unsafe ] => h | HighlightModifier :: Unsafe ,
414
414
_ => h,
415
415
}
@@ -433,6 +433,13 @@ fn highlight_element(
433
433
}
434
434
}
435
435
436
+ fn is_child_of_impl ( element : SyntaxElement ) -> bool {
437
+ match element. parent ( ) {
438
+ Some ( e) => e. kind ( ) == IMPL_DEF ,
439
+ _ => false ,
440
+ }
441
+ }
442
+
436
443
fn highlight_name ( db : & RootDatabase , def : Definition ) -> Highlight {
437
444
match def {
438
445
Definition :: Macro ( _) => HighlightTag :: Macro ,
Original file line number Diff line number Diff line change @@ -17,6 +17,16 @@ struct Foo {
17
17
pub y: i32,
18
18
}
19
19
20
+ trait Bar {
21
+ fn bar(&self) -> i32;
22
+ }
23
+
24
+ impl Bar for Foo {
25
+ fn bar(&self) -> i32 {
26
+ self.x
27
+ }
28
+ }
29
+
20
30
static mut STATIC_MUT: i32 = 0;
21
31
22
32
fn foo<'a, T>() -> T {
You can’t perform that action at this time.
0 commit comments