public bool Execute()
{
string commandName = this.Arguments.Values.FirstOrDefault();
if (string.IsNullOrWhiteSpace(commandName) == false)
{
ICommand matchedCommand =
this.AvailableCommands.FirstOrDefault(
c =>
c.Attributes.CommandName.Equals(commandName, StringComparison.OrdinalIgnoreCase)
|| c.Attributes.AlternativeCommandNames.Any(a => a.Equals(commandName, StringComparison.OrdinalIgnoreCase)));
if (matchedCommand != null)
{
this.helpProvider.ShowHelp(matchedCommand);
return true;
}
}
this.helpProvider.ShowHelpOverview(this.AvailableCommands);
return true;
}