diff options
Diffstat (limited to 'crates/ide_completion/src/patterns.rs')
-rw-r--r-- | crates/ide_completion/src/patterns.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/ide_completion/src/patterns.rs b/crates/ide_completion/src/patterns.rs index 345977d48..02cfe91e1 100644 --- a/crates/ide_completion/src/patterns.rs +++ b/crates/ide_completion/src/patterns.rs | |||
@@ -20,6 +20,7 @@ pub(crate) enum ImmediatePrevSibling { | |||
20 | TraitDefName, | 20 | TraitDefName, |
21 | ImplDefType, | 21 | ImplDefType, |
22 | Visibility, | 22 | Visibility, |
23 | Attribute, | ||
23 | } | 24 | } |
24 | 25 | ||
25 | /// Direct parent "thing" of what we are currently completing. | 26 | /// Direct parent "thing" of what we are currently completing. |
@@ -113,6 +114,7 @@ pub(crate) fn determine_prev_sibling(name_like: &ast::NameLike) -> Option<Immedi | |||
113 | } else { | 114 | } else { |
114 | return None | 115 | return None |
115 | }, | 116 | }, |
117 | ast::Attr(_it) => ImmediatePrevSibling::Attribute, | ||
116 | _ => return None, | 118 | _ => return None, |
117 | } | 119 | } |
118 | }; | 120 | }; |
@@ -438,4 +440,9 @@ mod tests { | |||
438 | fn test_vis_prev_sibling() { | 440 | fn test_vis_prev_sibling() { |
439 | check_prev_sibling(r"pub w$0", ImmediatePrevSibling::Visibility); | 441 | check_prev_sibling(r"pub w$0", ImmediatePrevSibling::Visibility); |
440 | } | 442 | } |
443 | |||
444 | #[test] | ||
445 | fn test_attr_prev_sibling() { | ||
446 | check_prev_sibling(r"#[attr] w$0", ImmediatePrevSibling::Attribute); | ||
447 | } | ||
441 | } | 448 | } |