aboutsummaryrefslogtreecommitdiff
path: root/crates/ide/src/diagnostics.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ide/src/diagnostics.rs')
-rw-r--r--crates/ide/src/diagnostics.rs23
1 files changed, 7 insertions, 16 deletions
diff --git a/crates/ide/src/diagnostics.rs b/crates/ide/src/diagnostics.rs
index 253c360bb..815a633e5 100644
--- a/crates/ide/src/diagnostics.rs
+++ b/crates/ide/src/diagnostics.rs
@@ -51,28 +51,26 @@ impl DiagnosticCode {
51 51
52#[derive(Debug)] 52#[derive(Debug)]
53pub struct Diagnostic { 53pub struct Diagnostic {
54 // pub name: Option<String>, 54 pub code: DiagnosticCode,
55 pub message: String, 55 pub message: String,
56 pub range: TextRange, 56 pub range: TextRange,
57 pub severity: Severity, 57 pub severity: Severity,
58 pub fixes: Option<Vec<Assist>>,
59 pub unused: bool, 58 pub unused: bool,
60 pub code: Option<DiagnosticCode>,
61 pub experimental: bool, 59 pub experimental: bool,
60 pub fixes: Option<Vec<Assist>>,
62} 61}
63 62
64impl Diagnostic { 63impl Diagnostic {
65 fn new(code: &'static str, message: impl Into<String>, range: TextRange) -> Diagnostic { 64 fn new(code: &'static str, message: impl Into<String>, range: TextRange) -> Diagnostic {
66 let message = message.into(); 65 let message = message.into();
67 let code = Some(DiagnosticCode(code)); 66 Diagnostic {
68 Self { 67 code: DiagnosticCode(code),
69 message, 68 message,
70 range, 69 range,
71 severity: Severity::Error, 70 severity: Severity::Error,
72 fixes: None,
73 unused: false, 71 unused: false,
74 code,
75 experimental: false, 72 experimental: false,
73 fixes: None,
76 } 74 }
77 } 75 }
78 76
@@ -181,15 +179,8 @@ pub(crate) fn diagnostics(
181 } 179 }
182 180
183 res.retain(|d| { 181 res.retain(|d| {
184 if let Some(code) = d.code { 182 !ctx.config.disabled.contains(d.code.as_str())
185 if ctx.config.disabled.contains(code.as_str()) { 183 && !(ctx.config.disable_experimental && d.experimental)
186 return false;
187 }
188 }
189 if ctx.config.disable_experimental && d.experimental {
190 return false;
191 }
192 true
193 }); 184 });
194 185
195 res 186 res