aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/utils/diagnostics/rust.ts
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code/src/utils/diagnostics/rust.ts')
-rw-r--r--editors/code/src/utils/diagnostics/rust.ts18
1 files changed, 17 insertions, 1 deletions
diff --git a/editors/code/src/utils/diagnostics/rust.ts b/editors/code/src/utils/diagnostics/rust.ts
index 1fb1f7b6d..0550d0372 100644
--- a/editors/code/src/utils/diagnostics/rust.ts
+++ b/editors/code/src/utils/diagnostics/rust.ts
@@ -112,6 +112,17 @@ function isUnusedOrUnnecessary(rd: RustDiagnostic): boolean {
112} 112}
113 113
114/** 114/**
115 * Determines if diagnostic is related to deprecated code
116 */
117function isDeprecated(rd: RustDiagnostic): boolean {
118 if (!rd.code) {
119 return false;
120 }
121
122 return ['deprecated'].includes(rd.code.code);
123}
124
125/**
115 * Converts a Rust child diagnostic to a VsCode related information 126 * Converts a Rust child diagnostic to a VsCode related information
116 * 127 *
117 * This can have three outcomes: 128 * This can have three outcomes:
@@ -200,6 +211,7 @@ export function mapRustDiagnosticToVsCode(
200 vd.source = source; 211 vd.source = source;
201 vd.code = code; 212 vd.code = code;
202 vd.relatedInformation = []; 213 vd.relatedInformation = [];
214 vd.tags = [];
203 215
204 for (const secondarySpan of secondarySpans) { 216 for (const secondarySpan of secondarySpans) {
205 const related = mapSecondarySpanToRelated(secondarySpan); 217 const related = mapSecondarySpanToRelated(secondarySpan);
@@ -234,7 +246,11 @@ export function mapRustDiagnosticToVsCode(
234 } 246 }
235 247
236 if (isUnusedOrUnnecessary(rd)) { 248 if (isUnusedOrUnnecessary(rd)) {
237 vd.tags = [vscode.DiagnosticTag.Unnecessary]; 249 vd.tags.push(vscode.DiagnosticTag.Unnecessary);
250 }
251
252 if (isDeprecated(rd)) {
253 vd.tags.push(vscode.DiagnosticTag.Deprecated);
238 } 254 }
239 255
240 return { 256 return {