fix: do not complete builtin attributes for qualified paths
This commit is contained in:
parent
1ef4b2cb7b
commit
845904f0bb
@ -22,7 +22,11 @@
|
||||
|
||||
pub(crate) fn complete_attribute(acc: &mut Completions, ctx: &CompletionContext) -> Option<()> {
|
||||
let attribute = ctx.attribute_under_caret.as_ref()?;
|
||||
match (attribute.path().and_then(|p| p.as_single_name_ref()), attribute.token_tree()) {
|
||||
let name_ref = match attribute.path() {
|
||||
Some(p) => Some(p.as_single_name_ref()?),
|
||||
None => None,
|
||||
};
|
||||
match (name_ref, attribute.token_tree()) {
|
||||
(Some(path), Some(token_tree)) => match path.text().as_str() {
|
||||
"derive" => derive::complete_derive(acc, ctx, token_tree),
|
||||
"repr" => repr::complete_repr(acc, ctx, token_tree),
|
||||
|
@ -33,6 +33,18 @@ fn doesnt_complete_items() {
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn doesnt_complete_qualified() {
|
||||
check(
|
||||
r#"
|
||||
struct Foo;
|
||||
#[foo::$0]
|
||||
use self as this;
|
||||
"#,
|
||||
expect![[r#""#]],
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn inside_nested_attr() {
|
||||
check(r#"#[cfg($0)]"#, expect![[]])
|
||||
|
Loading…
Reference in New Issue
Block a user