aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term/src/ui')
-rw-r--r--helix-term/src/ui/completion.rs21
1 files changed, 18 insertions, 3 deletions
diff --git a/helix-term/src/ui/completion.rs b/helix-term/src/ui/completion.rs
index ac434894..3e2f2aea 100644
--- a/helix-term/src/ui/completion.rs
+++ b/helix-term/src/ui/completion.rs
@@ -1,6 +1,10 @@
use crate::compositor::{Component, Context, Event, EventResult};
-use helix_view::{editor::CompleteAction, ViewId};
-use tui::buffer::Buffer as Surface;
+use helix_view::{
+ editor::CompleteAction,
+ theme::{Modifier, Style},
+ ViewId,
+};
+use tui::{buffer::Buffer as Surface, text::Span};
use std::borrow::Cow;
@@ -33,8 +37,19 @@ impl menu::Item for CompletionItem {
}
fn format(&self, _data: &Self::Data) -> menu::Row {
+ let deprecated = self.deprecated.unwrap_or_default()
+ || self.tags.as_ref().map_or(false, |tags| {
+ tags.contains(&lsp::CompletionItemTag::DEPRECATED)
+ });
menu::Row::new(vec![
- menu::Cell::from(self.label.as_str()),
+ menu::Cell::from(Span::styled(
+ self.label.as_str(),
+ if deprecated {
+ Style::default().add_modifier(Modifier::CROSSED_OUT)
+ } else {
+ Style::default()
+ },
+ )),
menu::Cell::from(match self.kind {
Some(lsp::CompletionItemKind::TEXT) => "text",
Some(lsp::CompletionItemKind::METHOD) => "method",