Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions src/Common/YamlUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
using System.Linq;
using Microsoft.PowerShell.PlatyPS.Model;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;
Expand Down Expand Up @@ -360,7 +361,7 @@ private static List<Parameter> GetParametersFromDictionary(OrderedDictionary dic
{
p.VariableLength = result;
}
}
}

if (pDictionary.TryGetValue("helpMessage", out object helpMsg))
{
Expand All @@ -387,7 +388,7 @@ private static List<Parameter> GetParametersFromDictionary(OrderedDictionary dic
{
if (aliases is string aliasStr)
{
p.Aliases = aliasStr;
p.Aliases = new List<string> { aliasStr };
}
else if (aliases is List<object> aliasList)
{
Expand All @@ -396,7 +397,7 @@ private static List<Parameter> GetParametersFromDictionary(OrderedDictionary dic
{
aList.Add(alias.ToString());
}
p.Aliases = string.Join(", ", aList);
p.Aliases = aList;
}
}

Expand Down Expand Up @@ -526,7 +527,7 @@ private static List<InputOutput> GetInputsFromDictionary(OrderedDictionary dicti
{
inputs.Add(new InputOutput(name.ToString(), string.Empty));
}
}
}
}
}
}
Expand Down
23 changes: 8 additions & 15 deletions src/Model/Parameter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public class Parameter : IEquatable<Parameter>

public bool IsDynamic { get; set ; }

public string Aliases { get; set;}
public List<string> Aliases { get; set;}

public bool DontShow { get; set;}

Expand All @@ -51,7 +51,7 @@ public Parameter()
Description = string.Empty;
ParameterSets = new();
ParameterValue = new();
Aliases = string.Empty;
Aliases = new();
AcceptedValues = new();
DefaultValue = string.Empty;
HelpMessage = string.Empty;
Expand All @@ -63,7 +63,7 @@ public Parameter(string name, string type)
Type = type;
ParameterSets = new();
ParameterValue = new();
Aliases = string.Empty;
Aliases = new();
AcceptedValues = new();
DefaultValue = string.Empty;
Description = string.Empty;
Expand Down Expand Up @@ -146,7 +146,7 @@ public Parameter(string name, string description, ParameterMetadataV2 metadata)
VariableLength = metadata.VariableLength;
DefaultValue = metadata.DefaultValue;
SupportsWildcards = metadata.SupportsWildcards;
Aliases = string.Join(",", metadata.Aliases);
Aliases = metadata.Aliases;
DontShow = metadata.DontShow;
AcceptedValues = metadata.AcceptedValues;
HelpMessage = metadata.HelpMessage;
Expand Down Expand Up @@ -200,16 +200,9 @@ public ParameterMetadataV2 GetMetadata()
metadata.DefaultValue = DefaultValue;
}

if (! string.IsNullOrEmpty(Aliases))
if (Aliases is not null)
{
var aliases = Aliases?.Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries);
if (aliases is not null)
{
foreach(var alias in aliases)
{
metadata.Aliases.Add(alias.Trim());
}
}
metadata.Aliases = Aliases;
}

if (ParameterValue is not null && ParameterValue.Count > 0)
Expand Down Expand Up @@ -247,7 +240,7 @@ public bool EqualsNoDescription(Parameter other)
return (
string.Compare(Name, other.Name, StringComparison.CurrentCulture) == 0 &&
string.Compare(Type, other.Type, StringComparison.CurrentCulture) == 0 &&
string.Compare(Aliases, other.Aliases, StringComparison.CurrentCulture) == 0 &&
Aliases.SequenceEqual(other.Aliases, StringComparer.CurrentCulture) &&
string.Compare(DefaultValue, other.DefaultValue, StringComparison.CurrentCulture) == 0 &&
string.Compare(HelpMessage, other.HelpMessage, StringComparison.CurrentCulture) == 0 &&
SupportsWildcards == other.SupportsWildcards &&
Expand All @@ -269,7 +262,7 @@ public bool Equals(Parameter other)
string.Compare(Name, other.Name, StringComparison.CurrentCulture) == 0 &&
string.Compare(Type, other.Type, StringComparison.CurrentCulture) == 0 &&
string.Compare(Description, other.Description, StringComparison.CurrentCulture) == 0 &&
string.Compare(Aliases, other.Aliases, StringComparison.CurrentCulture) == 0 &&
Aliases.SequenceEqual(other.Aliases, StringComparer.CurrentCulture) &&
string.Compare(DefaultValue, other.DefaultValue, StringComparison.CurrentCulture) == 0 &&
string.Compare(HelpMessage, other.HelpMessage, StringComparison.CurrentCulture) == 0 &&
SupportsWildcards == other.SupportsWildcards &&
Expand Down
6 changes: 3 additions & 3 deletions src/Transform/TransformBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ protected IEnumerable<Parameter> GetParameters(CommandInfo cmdletInfo, dynamic?
var paramAttribInfo = GetParameterAtributeInfo(parameterMetadata.Value.Attributes);
string typeName = GetParameterTypeName(parameterMetadata.Value.ParameterType);

Parameter param = new(parameterMetadata.Value.Name, typeName);
Parameter param = new(parameterMetadata.Value.Name, typeName);
param.DontShow = paramAttribInfo.DontShow;
param.SupportsWildcards = paramAttribInfo.Globbing;
param.HelpMessage = paramAttribInfo.HelpMessage ?? string.Empty;
Expand All @@ -236,7 +236,7 @@ protected IEnumerable<Parameter> GetParameters(CommandInfo cmdletInfo, dynamic?
}

param.DefaultValue = GetParameterDefaultValueFromHelp(helpItem, param.Name);
param.Aliases = string.Join(",", parameterMetadata.Value.Aliases);
param.Aliases = parameterMetadata.Value.Aliases.ToList();

string descriptionFromHelp = GetParameterDescriptionFromHelp(helpItem, param.Name) ?? param.HelpMessage ?? string.Empty;
param.Description = string.IsNullOrEmpty(descriptionFromHelp) ?
Expand Down Expand Up @@ -620,7 +620,7 @@ protected Parameter GetParameterInfo(CommandInfo? cmdletInfo, dynamic? helpItem,
string.Format(Constants.FillInParameterDescriptionTemplate, param.Name) :
descriptionFromHelp;

param.Aliases = string.Join("-", paramInfo.Aliases);
param.Aliases = paramInfo.Aliases.ToList();
param.ParameterSets.ForEach(x => x.IsRequired = paramInfo.IsMandatory);

string defaultValueFromHelp = GetParameterDefaultValueFromHelp(helpItem, param.Name);
Expand Down
3 changes: 2 additions & 1 deletion src/Transform/TransformMaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using System.IO;
using System.Linq;
using System.Management.Automation;
using System.Management.Automation.Language;
using System.Text;
using System.Xml;

Expand Down Expand Up @@ -574,7 +575,7 @@ private Parameter ReadParameter(XmlReader reader, int parameterSetCount)
parameter.ParameterSets.ForEach(x => x.IsRequired = required);
parameter.VariableLength = variableLength;
parameter.SupportsWildcards = globbing;
parameter.Aliases = aliases ?? string.Empty;
parameter.Aliases = aliases is not null ? new List<string> { aliases } : new List<string>();

// need to go the end of command:parameter
if (reader.ReadState != ReadState.EndOfFile)
Expand Down
28 changes: 15 additions & 13 deletions test/Pester/assets/get-date.yml
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand Down Expand Up @@ -451,7 +451,8 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: LastWriteTime
aliases:
- LastWriteTime
dontShow: false
acceptedValues: []
parameterSets:
Expand Down Expand Up @@ -481,7 +482,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand All @@ -505,7 +506,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues:
- Date
Expand Down Expand Up @@ -561,7 +562,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand All @@ -585,7 +586,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand All @@ -602,7 +603,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand All @@ -615,7 +616,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand All @@ -628,7 +629,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand All @@ -641,7 +642,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand All @@ -667,7 +668,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand Down Expand Up @@ -695,7 +696,8 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: UnixTime
aliases:
- UnixTime
dontShow: false
acceptedValues: []
parameterSets:
Expand All @@ -719,7 +721,7 @@ parameters:
defaultValue: None
supportsWildcards: false
isDynamic: false
aliases: ''
aliases: []
dontShow: false
acceptedValues: []
parameterSets:
Expand Down
Loading