-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathformat.ps1
101 lines (98 loc) · 3.53 KB
/
format.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Big thanks to markekraus #powershell@freenode for stdin solution.
[cmdletbinding()]
param(
[Parameter(ValueFromPipeline)]
[String]
$InputObject
)
begin {
$StringBuilder = [System.Text.StringBuilder]::new()
}
process {
$StringBuilder.AppendLine($InputObject) | Out-Null
}
end {
$settings = @{
IncludeRules = @(
"PSPlaceOpenBrace",
"PSPlaceCloseBrace",
"PSUseConsistentWhitespace",
"PSUseConsistentIndentation",
"PSAvoidDefaultValueForMandatoryParameter",
"PSAvoidDefaultValueSwitchParameter",
"PSAvoidGlobalAliases",
"PSAvoidGlobalFunctions",
"PSAvoidGlobalVars",
"PSAvoidInvokingEmptyMembers",
"PSAvoidShouldContinueWithoutForce",
"PSAvoidUsingCmdletAliases",
"PSAvoidUsingComputerNameHardcoded",
"PSAvoidUsingConvertToSecureStringWithPlainText",
"PSAvoidUsingDeprecatedManifestFields",
"PSAvoidUsingEmptyCatchBlock",
"PSAvoidUsingInvokeExpression",
"PSAvoidUsingPlainTextForPassword",
"PSAvoidUsingPositionalParameters",
"PSAvoidUsingUserNameAndPassWordParams",
"PSAvoidUsingWMICmdlet",
"PSAvoidUsingWriteHost",
"PSMisleadingBacktick",
"PSMissingModuleManifestField",
"PSPossibleIncorrectComparisonWithNull",
"PSProvideCommentHelp",
"PSReservedCmdletChar",
"PSReservedParams",
"PSShouldProcess",
"PSUseApprovedVerbs",
"PSUseBOMForUnicodeEncodedFile",
"PSUseCmdletCorrectly",
"PSUseDeclaredVarsMoreThanAssignments",
"PSUseLiteralInitializerForHashtable",
"PSUseOutputTypeCorrectly",
"PSUsePSCredentialType",
"PSUseShouldProcessForStateChangingFunctions",
"PSUseSingularNouns",
"PSUseSupportsShouldProcess",
"PSUseToExportFieldsInManifest"
)
Rules = @{
PSPlaceOpenBrace = @{
Enable = $true
OnSameLine = $true
NewLineAfter = $true
IgnoreOneLineBlock = $true
}
PSPlaceCloseBrace = @{
Enable = $true
NewLineAfter = $true
IgnoreOneLineBlock = $true
NoEmptyLineBefore = $false
}
PSUseConsistentIndentation = @{
Enable = $true
Kind = "space"
IndentationSize = 4
}
PSUseConsistentWhitespace = @{
Enable = $true
CheckOpenBrace = $true
CheckOpenParen = $true
CheckOperator = $true
CheckSeparator = $true
}
PSAvoidUsingCmdletAliases = @{
Whitelist = @("%", "?", "select", "sort", "group")
}
PSProvideCommentHelp = @{
Enable = $true
ExportedOnly = $false
BlockComment = $true
VSCodeSnippetCorrection = $true
Placement = "begin"
}
}
}
$PipelineContent = $StringBuilder.ToString().TrimEnd()
#Invoke-Formatter -Settings $settings -ScriptDefinition $PipelineContent
Invoke-Formatter -ScriptDefinition $PipelineContent
}