Add and use CodeLabel::filter_text() (#22054)

Release Notes:

- N/A
This commit is contained in:
Michael Sloan 2024-12-15 22:24:41 -07:00 committed by GitHub
parent af50261ae2
commit 53c9af3e61
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 14 deletions

View file

@ -160,12 +160,7 @@ impl CompletionsMenu {
let match_candidates = completions
.iter()
.enumerate()
.map(|(id, completion)| {
StringMatchCandidate::new(
id,
&completion.label.text[completion.label.filter_range.clone()],
)
})
.map(|(id, completion)| StringMatchCandidate::new(id, &completion.label.filter_text()))
.collect();
Self {

View file

@ -1678,6 +1678,10 @@ impl CodeLabel {
pub fn text(&self) -> &str {
self.text.as_str()
}
pub fn filter_text(&self) -> &str {
&self.text[self.filter_range.clone()]
}
}
impl From<String> for CodeLabel {

View file

@ -78,10 +78,7 @@ impl ProjectSymbolsDelegate {
));
let sort_key_for_match = |mat: &StringMatch| {
let symbol = &self.symbols[mat.candidate_id];
(
Reverse(OrderedFloat(mat.score)),
&symbol.label.text[symbol.label.filter_range.clone()],
)
(Reverse(OrderedFloat(mat.score)), symbol.label.filter_text())
};
visible_matches.sort_unstable_by_key(sort_key_for_match);
@ -177,10 +174,7 @@ impl PickerDelegate for ProjectSymbolsDelegate {
.iter()
.enumerate()
.map(|(id, symbol)| {
StringMatchCandidate::new(
id,
&symbol.label.text[symbol.label.filter_range.clone()],
)
StringMatchCandidate::new(id, &symbol.label.filter_text())
})
.partition(|candidate| {
project