Forge
csharpdeeb25a2
1using CascadeIDE.Contracts;
2using CascadeIDE.Services;
3using Microsoft.CodeAnalysis;
4
5namespace CascadeIDE.Features.Editor.Application;
6
7/// <summary>
8/// Вертикальный срез DAL/диагностик → снимок для Editor HUD (ADR 0103).
9/// Источник полос — <see cref="WorkspaceDiagnosticsCoordinator"/>, не прямой CCU.
10/// </summary>
11[PresentationProjection]
12public static class SemanticProjectionPipeline
13{
14 public static EditorSemanticSnapshot FromDiagnosticStrips(IReadOnlyList<EditorDiagnosticStrip> strips)
15 {
16 var e = 0;
17 var w = 0;
18 var i = 0;
19 var h = 0;
20 foreach (var s in strips)
21 {
22 switch (s.Severity)
23 {
24 case DiagnosticSeverity.Error:
25 e++;
26 break;
27 case DiagnosticSeverity.Warning:
28 w++;
29 break;
30 case DiagnosticSeverity.Info:
31 i++;
32 break;
33 case DiagnosticSeverity.Hidden:
34 h++;
35 break;
36 }
37 }
38
39 return new EditorSemanticSnapshot(e, w, i, h);
40 }
41}
42
View only · write via MCP/CIDE