diff options
author | Aleksey Kladov <[email protected]> | 2021-06-13 20:17:05 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2021-06-13 20:17:36 +0100 |
commit | 500c909c76a5165e3e3c6ff2eacc009c90f08bbe (patch) | |
tree | 5b57ca5243009f6a63cb6f3d37acb524b8cd2c80 /crates/ide/src/diagnostics.rs | |
parent | b404b91da68556141ad39fffcef2865f073dd3d1 (diff) |
internal: diagnostic code is mandatory
Diffstat (limited to 'crates/ide/src/diagnostics.rs')
-rw-r--r-- | crates/ide/src/diagnostics.rs | 23 |
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)] |
53 | pub struct Diagnostic { | 53 | pub 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 | ||
64 | impl Diagnostic { | 63 | impl 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 |