diff --git a/src/System.Management.Automation/FormatAndOutput/common/PSStyle.cs b/src/System.Management.Automation/FormatAndOutput/common/PSStyle.cs
index 52ca35dff..3a641edc4 100644
--- a/src/System.Management.Automation/FormatAndOutput/common/PSStyle.cs
+++ b/src/System.Management.Automation/FormatAndOutput/common/PSStyle.cs
@@ -35,7 +35,7 @@ namespace System.Management.Automation
/// Classic rendering of progress.
Classic = 1,
}
-
+
#region PSStyle
///
/// Contains configuration for how PowerShell renders text.
@@ -365,7 +365,7 @@ namespace System.Management.Automation
get => _error;
set => _error = ValidateNoContent(value);
}
-
+
private string _error = "\x1b[31;1m";
///
@@ -397,7 +397,7 @@ namespace System.Management.Automation
{
get => _debug;
set => _debug = ValidateNoContent(value);
- }
+ }
private string _debug = "\x1b[33;1m";
}
@@ -467,6 +467,16 @@ namespace System.Management.Automation
_extensionDictionary.Add(ValidateExtension(extension), ValidateNoContent(decoration));
}
+ ///
+ /// Add new extension and decoration to dictionary without validation.
+ ///
+ /// Extension to add.
+ /// ANSI string value to add.
+ internal void AddWithoutValidation(string extension, string decoration)
+ {
+ _extensionDictionary.Add(extension, decoration);
+ }
+
///
/// Remove an extension from dictionary.
///
@@ -543,19 +553,19 @@ namespace System.Management.Automation
Extension = new FileExtensionDictionary();
// archives
- Extension.Add(".zip", "\x1b[31;1m");
- Extension.Add(".tgz", "\x1b[31;1m");
- Extension.Add(".gz", "\x1b[31;1m");
- Extension.Add(".tar", "\x1b[31;1m");
- Extension.Add(".nupkg", "\x1b[31;1m");
- Extension.Add(".cab", "\x1b[31;1m");
- Extension.Add(".7z", "\x1b[31;1m");
+ Extension.AddWithoutValidation(".zip", "\x1b[31;1m");
+ Extension.AddWithoutValidation(".tgz", "\x1b[31;1m");
+ Extension.AddWithoutValidation(".gz", "\x1b[31;1m");
+ Extension.AddWithoutValidation(".tar", "\x1b[31;1m");
+ Extension.AddWithoutValidation(".nupkg", "\x1b[31;1m");
+ Extension.AddWithoutValidation(".cab", "\x1b[31;1m");
+ Extension.AddWithoutValidation(".7z", "\x1b[31;1m");
// powershell
- Extension.Add(".ps1", "\x1b[33;1m");
- Extension.Add(".psd1", "\x1b[33;1m");
- Extension.Add(".psm1", "\x1b[33;1m");
- Extension.Add(".ps1xml", "\x1b[33;1m");
+ Extension.AddWithoutValidation(".ps1", "\x1b[33;1m");
+ Extension.AddWithoutValidation(".psd1", "\x1b[33;1m");
+ Extension.AddWithoutValidation(".psm1", "\x1b[33;1m");
+ Extension.AddWithoutValidation(".ps1xml", "\x1b[33;1m");
}
}
@@ -688,7 +698,7 @@ namespace System.Management.Automation
private static string ValidateNoContent(string text)
{
- var decorartedString = new StringDecorated(text);
+ var decorartedString = new ValueStringDecorated(text);
if (decorartedString.ContentLength > 0)
{
throw new ArgumentException(string.Format(PSStyleStrings.TextContainsContent, decorartedString.ToString(OutputRendering.PlainText)));