Skip to content

Commit c5a55fe

Browse files
Fix duplicate DiagnosticMarkers when reopening a file (#1869)
Fixes PowerShell/vscode-powershell#3252. Co-authored-by: Andy Jordan <[email protected]>
1 parent 889da44 commit c5a55fe

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/PowerShellEditorServices/Services/Analysis/AnalysisService.cs

+3
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,9 @@ private async Task DelayThenInvokeDiagnosticsAsync(ScriptFile[] filesToAnalyze,
373373
{
374374
ScriptFileMarker[] semanticMarkers = await AnalysisEngine.AnalyzeScriptAsync(scriptFile.Contents).ConfigureAwait(false);
375375

376+
// Clear existing PSScriptAnalyzer markers (but keep parser errors where the source is "PowerShell")
377+
// so that they are not duplicated when re-opening files.
378+
scriptFile.DiagnosticMarkers.RemoveAll(m => m.Source == "PSScriptAnalyzer");
376379
scriptFile.DiagnosticMarkers.AddRange(semanticMarkers);
377380

378381
PublishScriptDiagnostics(scriptFile);

0 commit comments

Comments
 (0)