Add unified attribute for completion for Encoding parameter. (#7732)
Provide a tab completion attribute (ArgumentEncodingCompletionsAttribute) for an Encoding parameter. This PR should fix the duplicated code warning in CodeFactor
This commit is contained in:
parent
172a8a014d
commit
4e98f244fd
|
@ -207,17 +207,7 @@ namespace Microsoft.PowerShell.Commands
|
|||
/// </summary>
|
||||
[Parameter()]
|
||||
[ArgumentToEncodingTransformationAttribute()]
|
||||
[ArgumentCompletions(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)]
|
||||
[ArgumentEncodingCompletionsAttribute]
|
||||
[ValidateNotNullOrEmpty]
|
||||
public Encoding Encoding { get; set; } = ClrFacade.GetDefaultEncoding();
|
||||
|
||||
|
@ -591,17 +581,7 @@ namespace Microsoft.PowerShell.Commands
|
|||
/// </summary>
|
||||
[Parameter()]
|
||||
[ArgumentToEncodingTransformationAttribute()]
|
||||
[ArgumentCompletions(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)]
|
||||
[ArgumentEncodingCompletionsAttribute]
|
||||
[ValidateNotNullOrEmpty]
|
||||
public Encoding Encoding { get; set; } = ClrFacade.GetDefaultEncoding();
|
||||
|
||||
|
|
|
@ -50,17 +50,7 @@ namespace Microsoft.PowerShell.Commands
|
|||
/// </summary>
|
||||
[Parameter(ParameterSetName = "ByInputObject")]
|
||||
[ArgumentToEncodingTransformationAttribute()]
|
||||
[ArgumentCompletions(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)]
|
||||
[ArgumentEncodingCompletionsAttribute]
|
||||
[ValidateNotNullOrEmpty]
|
||||
public Encoding Encoding { get; set; } = ClrFacade.GetDefaultEncoding();
|
||||
|
||||
|
|
|
@ -72,17 +72,7 @@ namespace Microsoft.PowerShell.Commands
|
|||
/// </summary>
|
||||
[Parameter(Position = 1)]
|
||||
[ArgumentToEncodingTransformationAttribute()]
|
||||
[ArgumentCompletions(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)]
|
||||
[ArgumentEncodingCompletionsAttribute]
|
||||
[ValidateNotNullOrEmpty]
|
||||
public Encoding Encoding { get; set; } = ClrFacade.GetDefaultEncoding();
|
||||
|
||||
|
|
|
@ -77,17 +77,7 @@ namespace Microsoft.PowerShell.Commands
|
|||
/// </summary>
|
||||
[Parameter]
|
||||
[ArgumentToEncodingTransformationAttribute()]
|
||||
[ArgumentCompletions(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)]
|
||||
[ArgumentEncodingCompletionsAttribute]
|
||||
[ValidateNotNullOrEmpty]
|
||||
public Encoding Encoding { get; set; } = ClrFacade.GetDefaultEncoding();
|
||||
|
||||
|
|
|
@ -1195,17 +1195,7 @@ namespace Microsoft.PowerShell.Commands
|
|||
/// </summary>
|
||||
[Parameter]
|
||||
[ArgumentToEncodingTransformationAttribute()]
|
||||
[ArgumentCompletions(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)]
|
||||
[ArgumentEncodingCompletionsAttribute]
|
||||
[ValidateNotNullOrEmpty]
|
||||
public Encoding Encoding { get; set; } = ClrFacade.GetDefaultEncoding();
|
||||
|
||||
|
|
|
@ -60,17 +60,7 @@ namespace Microsoft.PowerShell.Commands
|
|||
[Parameter(ValueFromPipelineByPropertyName = true)]
|
||||
[Alias("BE")]
|
||||
[ValidateNotNullOrEmpty]
|
||||
[ArgumentCompletions(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)]
|
||||
[ArgumentEncodingCompletionsAttribute]
|
||||
[ArgumentToEncodingTransformationAttribute]
|
||||
public Encoding Encoding { get; set; } = Encoding.ASCII;
|
||||
|
||||
|
|
|
@ -107,17 +107,7 @@ namespace Microsoft.PowerShell.Commands
|
|||
/// </summary>
|
||||
[Parameter]
|
||||
[ArgumentToEncodingTransformationAttribute()]
|
||||
[ArgumentCompletions(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)]
|
||||
[ArgumentEncodingCompletionsAttribute]
|
||||
[ValidateNotNullOrEmpty]
|
||||
public Encoding Encoding { get; set; } = ClrFacade.GetDefaultEncoding();
|
||||
|
||||
|
|
|
@ -7212,17 +7212,7 @@ namespace Microsoft.PowerShell.Commands
|
|||
/// </summary>
|
||||
[Parameter]
|
||||
[ArgumentToEncodingTransformationAttribute()]
|
||||
[ArgumentCompletions(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)]
|
||||
[ArgumentEncodingCompletionsAttribute]
|
||||
[ValidateNotNullOrEmpty]
|
||||
public Encoding Encoding
|
||||
{
|
||||
|
|
|
@ -102,4 +102,22 @@ namespace System.Management.Automation
|
|||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Provides the set of Encoding values for tab completion of an Encoding parameter.
|
||||
/// </summary>
|
||||
internal sealed class ArgumentEncodingCompletionsAttribute : ArgumentCompletionsAttribute
|
||||
{
|
||||
public ArgumentEncodingCompletionsAttribute() : base(
|
||||
EncodingConversion.Ascii,
|
||||
EncodingConversion.BigEndianUnicode,
|
||||
EncodingConversion.OEM,
|
||||
EncodingConversion.Unicode,
|
||||
EncodingConversion.Utf7,
|
||||
EncodingConversion.Utf8,
|
||||
EncodingConversion.Utf8Bom,
|
||||
EncodingConversion.Utf8NoBom,
|
||||
EncodingConversion.Utf32
|
||||
)
|
||||
{}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue