Simplify CompletionRelevance

This commit is contained in:
Lukas Wirth 2024-09-02 11:49:11 +02:00
parent 21b7608fd7
commit 26cd745104
4 changed files with 85 additions and 90 deletions

View file

@ -249,7 +249,11 @@ pub(crate) fn render_type_inference(
ty_string,
ctx.edition,
);
builder.set_relevance(CompletionRelevance { is_definite: true, ..Default::default() });
builder.set_relevance(CompletionRelevance {
type_match: Some(CompletionRelevanceTypeMatch::Exact),
exact_name_match: true,
..Default::default()
});
builder.build(ctx.db)
}
@ -756,7 +760,7 @@ mod tests {
relevance.postfix_match == Some(CompletionRelevancePostfixMatch::Exact),
"snippet",
),
(relevance.is_op_method, "op_method"),
(relevance.trait_.map_or(false, |it| it.is_op_method), "op_method"),
(relevance.requires_import, "requires_import"),
]
.into_iter()
@ -1272,14 +1276,11 @@ fn main() { let _: m::Spam = S$0 }
Exact,
),
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: false,
trait_: None,
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: None,
},
trigger_call_info: true,
@ -1300,14 +1301,11 @@ fn main() { let _: m::Spam = S$0 }
Exact,
),
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: false,
trait_: None,
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: None,
},
trigger_call_info: true,
@ -1380,14 +1378,11 @@ fn foo() { A { the$0 } }
CouldUnify,
),
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: false,
trait_: None,
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: None,
},
},
@ -1431,14 +1426,11 @@ impl S {
exact_name_match: false,
type_match: None,
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: false,
trait_: None,
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: Some(
CompletionRelevanceFn {
has_params: true,
@ -1558,14 +1550,11 @@ fn foo(s: S) { s.$0 }
exact_name_match: false,
type_match: None,
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: false,
trait_: None,
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: Some(
CompletionRelevanceFn {
has_params: true,
@ -1774,14 +1763,11 @@ fn f() -> i32 {
Exact,
),
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: false,
trait_: None,
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: None,
},
},
@ -2492,14 +2478,11 @@ fn foo(f: Foo) { let _: &u32 = f.b$0 }
exact_name_match: false,
type_match: None,
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: false,
trait_: None,
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: Some(
CompletionRelevanceFn {
has_params: true,
@ -2574,14 +2557,11 @@ fn foo() {
Exact,
),
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: false,
trait_: None,
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: None,
},
},
@ -2624,14 +2604,11 @@ fn main() {
exact_name_match: false,
type_match: None,
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: false,
trait_: None,
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: Some(
CompletionRelevanceFn {
has_params: false,
@ -2996,14 +2973,16 @@ fn main() {
exact_name_match: false,
type_match: None,
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: true,
trait_: Some(
CompletionRelevanceTraitInfo {
notable_trait: true,
is_op_method: false,
},
),
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: None,
},
},
@ -3021,14 +3000,16 @@ fn main() {
exact_name_match: false,
type_match: None,
is_local: false,
is_item_from_trait: false,
is_item_from_notable_trait: true,
trait_: Some(
CompletionRelevanceTraitInfo {
notable_trait: true,
is_op_method: false,
},
),
is_name_already_imported: false,
requires_import: false,
is_op_method: false,
is_private_editable: false,
postfix_match: None,
is_definite: false,
function: None,
},
},