private string MakeUsageSummary(bool htmlEncodeBrackets = false)
{
var gt = ">";
var lt = "<";
if(htmlEncodeBrackets)
{
gt = ">";
lt = "<";
}
string ret = "";
ret += ExeName + " ";
int minPosition = 0;
if (HasActions)
{
ret += lt + "action" + gt + " ";
minPosition = 1;
}
foreach (var positionArg in (from a in Arguments where a.Position >= minPosition select a).OrderBy(a => a.Position))
{
if (positionArg.IsRequired)
{
ret += lt + positionArg.DefaultAlias + lt+" ";
}
else
{
ret += "[" + lt + positionArg.DefaultAlias + gt + "] ";
}
}
if (Arguments.Where(a => a.Position < 0).Count() > 0)
{
ret += "-options";
}
return ret;
}