fix: Fix item completions not working properly after unit structs and outline modules
This commit is contained in:
parent
1cb6ab89ee
commit
90e2db8126
@ -681,9 +681,13 @@ fn classify_name_ref(
|
|||||||
ast::Item::ExternBlock(it) => it.extern_item_list().is_none(),
|
ast::Item::ExternBlock(it) => it.extern_item_list().is_none(),
|
||||||
ast::Item::Fn(it) => it.body().is_none(),
|
ast::Item::Fn(it) => it.body().is_none(),
|
||||||
ast::Item::Impl(it) => it.assoc_item_list().is_none(),
|
ast::Item::Impl(it) => it.assoc_item_list().is_none(),
|
||||||
ast::Item::Module(it) => it.item_list().is_none(),
|
ast::Item::Module(it) => {
|
||||||
|
it.item_list().is_none() && it.semicolon_token().is_none()
|
||||||
|
}
|
||||||
ast::Item::Static(it) => it.body().is_none(),
|
ast::Item::Static(it) => it.body().is_none(),
|
||||||
ast::Item::Struct(it) => it.field_list().is_none(),
|
ast::Item::Struct(it) => {
|
||||||
|
it.field_list().is_none() && it.semicolon_token().is_none()
|
||||||
|
}
|
||||||
ast::Item::Trait(it) => it.assoc_item_list().is_none(),
|
ast::Item::Trait(it) => it.assoc_item_list().is_none(),
|
||||||
ast::Item::TypeAlias(it) => it.ty().is_none(),
|
ast::Item::TypeAlias(it) => it.ty().is_none(),
|
||||||
ast::Item::Union(it) => it.record_field_list().is_none(),
|
ast::Item::Union(it) => it.record_field_list().is_none(),
|
||||||
|
@ -245,3 +245,35 @@ fn fn function1()
|
|||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn after_unit_struct() {
|
||||||
|
check(
|
||||||
|
r#"struct S; f$0"#,
|
||||||
|
expect![[r#"
|
||||||
|
ma makro!(…) macro_rules! makro
|
||||||
|
md module
|
||||||
|
kw const
|
||||||
|
kw crate::
|
||||||
|
kw enum
|
||||||
|
kw extern
|
||||||
|
kw fn
|
||||||
|
kw impl
|
||||||
|
kw mod
|
||||||
|
kw pub
|
||||||
|
kw pub(crate)
|
||||||
|
kw pub(super)
|
||||||
|
kw self::
|
||||||
|
kw static
|
||||||
|
kw struct
|
||||||
|
kw trait
|
||||||
|
kw type
|
||||||
|
kw union
|
||||||
|
kw unsafe
|
||||||
|
kw use
|
||||||
|
sn macro_rules
|
||||||
|
sn tfn (Test function)
|
||||||
|
sn tmod (Test module)
|
||||||
|
"#]],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user