Skip to content

Latest commit

 

History

History
161 lines (121 loc) · 3.28 KB

Invoke-Formatter.md

File metadata and controls

161 lines (121 loc) · 3.28 KB
external help file Module Name ms.custom ms.date online version schema
Microsoft.Windows.PowerShell.ScriptAnalyzer.dll-Help.xml
PSScriptAnalyzer
PSSA v1.21.0
10/07/2021
2.0.0

Invoke-Formatter

SYNOPSIS

Formats a script text based on the input settings or default settings.

SYNTAX

Invoke-Formatter [-ScriptDefinition] <string> [[-Settings] <Object>] [[-Range] <int[]>]
 [<CommonParameters>]

DESCRIPTION

The Invoke-Formatter cmdlet takes a string input and formats it according to defined settings. If no Settings parameter is provided, the cmdlet assumes the default code formatting settings as defined in Settings/CodeFormatting.psd1.

EXAMPLES

EXAMPLE 1 - Format the input script text using the default settings

$scriptDefinition = @'
function foo {
"hello"
  }
'@

Invoke-Formatter -ScriptDefinition $scriptDefinition
function foo {
    "hello"
}

EXAMPLE 2 - Format the input script using the settings defined in a hashtable

$scriptDefinition = @'
function foo {
"hello"
}
'@

$settings = @{
    IncludeRules = @("PSPlaceOpenBrace", "PSUseConsistentIndentation")
    Rules = @{
        PSPlaceOpenBrace = @{
            Enable = $true
            OnSameLine = $false
        }
        PSUseConsistentIndentation = @{
            Enable = $true
        }
    }
}

Invoke-Formatter -ScriptDefinition $scriptDefinition -Settings $settings
function foo
{
    "hello"
}

EXAMPLE 3 - Format the input script text using the settings defined a .psd1 file

Invoke-Formatter -ScriptDefinition $scriptDefinition -Settings /path/to/settings.psd1

PARAMETERS

-Range

The range within which formatting should take place. The value of this parameter must be an array of four integers. These numbers must be greater than 0. The four integers represent the following four values in this order:

  • starting line number
  • starting column number
  • ending line number
  • ending column number
Type: Int32[]
Parameter Sets: (All)
Aliases:

Required: False
Position: 3
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

-ScriptDefinition

The text of the script to be formatted represented as a string. This is not a ScriptBlock object.

Type: String
Parameter Sets: (All)
Aliases:

Required: True
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: False

-Settings

A settings hashtable or a path to a PowerShell data file (.psd1) that contains the settings.

Type: Object
Parameter Sets: (All)
Aliases:

Required: False
Position: 2
Default value: CodeFormatting
Accept pipeline input: True
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

OUTPUTS

System.String

The formatted string result.

NOTES

RELATED LINKS