Skip to content

Commit

Permalink
Auto merge of #15962 - ahlinc:label-datail2, r=lnicola
Browse files Browse the repository at this point in the history
fix: add fallback for completion label details

This PR adds a fallback to a previous implementation in a case when the label detail field isn't supported by LSP client and the support isn't reported by the LSP initialize request. In this case additional info about trait and aliases would be merged into the label field as it was before the #15956 PR.
  • Loading branch information
bors committed Nov 25, 2023
2 parents 34cffbf + 94cea46 commit 35da60a
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
2 changes: 1 addition & 1 deletion crates/ide-completion/src/item.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ use crate::{
pub struct CompletionItem {
/// Label in the completion pop up which identifies completion.
pub label: SmolStr,
/// Addition label details in the completion pop up that are
/// Additional label details in the completion pop up that are
/// displayed and aligned on the right side after the label.
pub label_detail: Option<SmolStr>,

Expand Down
2 changes: 2 additions & 0 deletions crates/rust-analyzer/src/lsp/to_proto.rs
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,8 @@ fn completion_item(
detail: item.label_detail.as_ref().map(ToString::to_string),
description: lsp_item.detail.clone(),
});
} else if let Some(label_detail) = item.label_detail {
lsp_item.label.push_str(label_detail.as_str());
}

set_score(&mut lsp_item, max_relevance, item.relevance);
Expand Down

0 comments on commit 35da60a

Please sign in to comment.