public CommandArgs(IEnumerable <string> args) { args.ShouldNotBeNullOrEmpty("args"); Command = args.First(); AllArguments = args.Skip(1).ToList(); Arguments = AllArguments.Where(IsNotFlag).ToList(); Flags = AllArguments.Where(IsSingleFlag).ToList(); DoubleFlags = AllArguments.Where(IsDoubleFlag).ToList(); Help = DoubleFlags.Any(f => f.EqualsIgnoreCase(HelpFlag)); }
private void AddValue(string constructedValue, string constructedKey, bool isCommand, bool inFlag, bool inDoubleFlag) { if (string.IsNullOrWhiteSpace(constructedValue)) { return; } if (isCommand) { command = constructedValue; } else if (inFlag) { Flags.Add(constructedValue); } else if (inDoubleFlag) { DoubleFlags.Add(constructedKey, constructedValue); } else { Arguments.Add(constructedValue); } }