Skip to content

PSPlaceOpenBrace and PSUseConsistentWhitespace don't work together #1490

Closed
@peetrike

Description

@peetrike

Steps to reproduce

Invoke-ScriptAnalyzer -ScriptDefinition @'
if ($true)
{
    "ok"
}
'@ -Settings @{
    Rules = @{
        PSPlaceOpenBrace = @{
            Enable     = $true
            OnSameLine = $false
        }
        PSUseConsistentWhitespace = @{
            Enable = $true
        }
    }
}

Expected behavior

When both rules are used, it should not trigger the PSUseConsistentWhitespace rule.

Actual behavior

RuleName                            Severity     ScriptName Line  Message
--------                            --------     ---------- ----  -------
PSUseConsistentWhitespace           Warning                 2     Use space before open brace.

When you add 1 space before open brace, it doesn't report violation.

If the whole code block is indented (more than 1 space before open brace), it reports again the problem.

Environment data

> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      5.1.18362.752
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.18362.752
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }
1.19.0
> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      7.0.0
PSEdition                      Core
GitCommitId                    7.0.0
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }
1.19.0

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions