From 4bad4ca3211034b2b9d278644dd20c801b86f352 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 28 Oct 2026 12:17:54 +0000 Subject: [PATCH 1/2] Initial plan From 3affc3b01bb4e91ad0741039b6148e2908d180c6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 28 Oct 2026 12:21:37 +0000 Subject: [PATCH 2/2] Preserve tab indentation when formatting branches Co-authored-by: bergmeister <9250262+bergmeister@users.noreply.github.com> --- Rules/PlaceCloseBrace.cs | 2 +- Tests/Rules/PlaceCloseBrace.tests.ps1 | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Rules/PlaceCloseBrace.cs b/Rules/PlaceCloseBrace.cs index 1bb15f6e1..6d2bd51b3 100644 --- a/Rules/PlaceCloseBrace.cs +++ b/Rules/PlaceCloseBrace.cs @@ -278,7 +278,7 @@ private List GetCorrectionsForBraceShouldHaveNewLineAfter( var nextToken = tokens[closeBracePos + 1]; var closeBraceToken = tokens[closeBracePos]; var indentation = tokens[closeBracePos - 1].Kind == TokenKind.NewLine - ? new String(' ', closeBraceToken.Extent.StartColumnNumber - 1) + ? closeBraceToken.Extent.StartScriptPosition.Line.Substring(0, closeBraceToken.Extent.StartColumnNumber - 1) : GetIndentation(tokens, closeBracePos, openBracePos); // Also remove the whitespace between the close brace and the next token diff --git a/Tests/Rules/PlaceCloseBrace.tests.ps1 b/Tests/Rules/PlaceCloseBrace.tests.ps1 index 151ed64e8..f44d50bb1 100644 --- a/Tests/Rules/PlaceCloseBrace.tests.ps1 +++ b/Tests/Rules/PlaceCloseBrace.tests.ps1 @@ -226,6 +226,25 @@ function Test { Invoke-Formatter -ScriptDefinition $def -Settings $settings | Should -Be $expected } + It "Should preserve tab indentation before a close brace" { + $def = @' +if ($true) { + $true + } else { + $false + } +'@ + $expected = @' +if ($true) { + $true + } + else { + $false + } +'@ + Invoke-Formatter -ScriptDefinition $def -Settings $settings | Should -Be $expected + } + It "Should find a violation for a close brace followed by elseif" { $def = @' if (Test-Path "blah") {