diff options
-rw-r--r-- | helix-core/src/diagnostic.rs | 2 | ||||
-rw-r--r-- | helix-lsp/src/lib.rs | 23 | ||||
-rw-r--r-- | helix-term/src/application.rs | 4 |
3 files changed, 14 insertions, 15 deletions
diff --git a/helix-core/src/diagnostic.rs b/helix-core/src/diagnostic.rs index da199ac9..db1f2da9 100644 --- a/helix-core/src/diagnostic.rs +++ b/helix-core/src/diagnostic.rs @@ -43,6 +43,6 @@ pub struct Diagnostic { pub message: String, pub severity: Option<Severity>, pub code: Option<NumberOrString>, - pub tags: Option<Vec<DiagnosticTag>>, + pub tags: Vec<DiagnosticTag>, pub source: Option<String>, } diff --git a/helix-lsp/src/lib.rs b/helix-lsp/src/lib.rs index 8c76c4a8..8d43410a 100644 --- a/helix-lsp/src/lib.rs +++ b/helix-lsp/src/lib.rs @@ -84,19 +84,18 @@ pub mod util { None => None, }; - let tags = if let Some(ref tags) = diag.tags { - let new_tags = tags - .iter() - .map(|tag| match tag { - helix_core::diagnostic::DiagnosticTag::Unnecessary => { - lsp::DiagnosticTag::UNNECESSARY - } - helix_core::diagnostic::DiagnosticTag::Deprecated => { - lsp::DiagnosticTag::DEPRECATED - } - }) - .collect(); + let new_tags: Vec<_> = diag + .tags + .iter() + .map(|tag| match tag { + helix_core::diagnostic::DiagnosticTag::Unnecessary => { + lsp::DiagnosticTag::UNNECESSARY + } + helix_core::diagnostic::DiagnosticTag::Deprecated => lsp::DiagnosticTag::DEPRECATED, + }) + .collect(); + let tags = if !new_tags.is_empty() { Some(new_tags) } else { None diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index 496464f0..cd499f1c 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -614,9 +614,9 @@ impl Application { } }).collect(); - Some(new_tags) + new_tags } else { - None + Vec::new() }; Some(Diagnostic { |