-
Notifications
You must be signed in to change notification settings - Fork 1
/
_Write-Console.ps1
33 lines (31 loc) · 921 Bytes
/
_Write-Console.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
Param(
[Parameter(Mandatory)][xml]$ContextFile,
[bool]$Colorize)
$ColorMap = @{
"Error" = "DarkRed";
"Warning" = "DarkYellow";
"Suggestion" = "DarkCyan";
"Hint" = "DarkGreen";
"Info" = "Cyan";
}
foreach ($Project in $ContextFile.Report.ChildNodes)
{
Write-Host ("Project: {0}" -f $Project.Name);
foreach ($File in $Project.ChildNodes)
{
Write-Host (" File: {0}" -f $File.Name)
foreach ($Line in $File.ChildNodes)
{
if ($Colorize)
{
Write-Host " " -NoNewline
Write-Host $Line.Severity -ForegroundColor ($ColorMap[$Line.Severity]) -Nonewline
Write-Host (", Line {0}, {1}" -f $Line.Number, $Line.Message)
}
else
{
Write-Host (" {0}, Line {1}, {2}" -f $Line.Severity, $Line.Number, $Line.Message)
}
}
}
}