public static CommandExecutionResult Execute(this ParseResult parseResult) { if (parseResult == null) { throw new ArgumentNullException(nameof(parseResult)); } var command = parseResult.Command(); if (command != null) { var value = parseResult[command.Name].Value(); } return(new CommandExecutionResult(parseResult)); }
public override string ToString() { if (parseResult.Errors.Any()) { var builder = new StringBuilder(); foreach (var error in parseResult.Errors) { builder.AppendLine(error.ToString()); } builder.Append(parseResult.Command().HelpView()); return(builder.ToString()); } return(""); }
public static AppliedOption AppliedCommand(this ParseResult result) { var commandPath = result .Command() .RecurseWhileNotNull(c => c.Parent as Command) .Select(c => c.Name) .Reverse() .ToArray(); var option = result[commandPath.First()]; foreach (var commandName in commandPath.Skip(1)) { option = option[commandName]; } return(option); }