@@ -1,6 +1,10 @@
11use crate::compositor::{Component, Context, Event, EventResult};
2−use helix_view::{editor::CompleteAction, ViewId};
3−use tui::buffer::Buffer as Surface;
2+use helix_view::{
3+ editor::CompleteAction,
4+ theme::{Modifier, Style},
5+ ViewId,
6+};
7+use tui::{buffer::Buffer as Surface, text::Span};
48
59use std::borrow::Cow;
610
@@ -33,8 +37,19 @@ impl menu::Item for CompletionItem {
3337 }
3438
3539 fn format(&self, _data: &Self::Data) -> menu::Row {
40+ let deprecated = self.deprecated.unwrap_or_default()
41+ || self.tags.as_ref().map_or(false, |tags| {
42+ tags.contains(&lsp::CompletionItemTag::DEPRECATED)
43+ });
3644 menu::Row::new(vec![
37− menu::Cell::from(self.label.as_str()),
45+ menu::Cell::from(Span::styled(
46+ self.label.as_str(),
47+ if deprecated {
48+ Style::default().add_modifier(Modifier::CROSSED_OUT)
49+ } else {
50+ Style::default()
51+ },
52+ )),
3853 menu::Cell::from(match self.kind {
3954 Some(lsp::CompletionItemKind::TEXT) => "text",
4055 Some(lsp::CompletionItemKind::METHOD) => "method",