public void Execute() { // Some messages, especially internal ones, don't want to display in headless if (_args.HasFlag("noheadless") && _state.Headless) { return; } var output = _output; var colorName = _args.Get("color").AsString(); if (!string.IsNullOrEmpty(colorName)) { var color = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorName); output = output.Color(color); } var strings = _args.GetAllPositionals().Where(p => p.Exists()).Select(p => p.AsString()); var line = string.Join(" ", strings); if (_args.HasFlag("nonewline")) { output.Write(line); } else { output.WriteLine(line); } }
/// <summary> /// Get a list of all argument objects /// </summary> /// <returns></returns> public static IEnumerable <IArgument> GetAllArguments(this IArguments args) { Assert.ArgumentNotNull(args, nameof(args)); return(args.GetAllPositionals().Cast <IArgument>() .Concat(args.GetAllNamed()) .Concat(args.GetAllFlags()) .Where(p => !p.Consumed)); }
public IEnumerable <IArgument> Access(IArguments args) { var results = new List <IArgument>(); foreach (var positional in args.GetAllPositionals()) { positional.MarkConsumed(); results.Add(new PositionalArgument(positional.Value)); } return(results); }
public void Execute() { var version = _args.Shift().Require().MarkConsumed().AsString(); IReadOnlyList <string> libraries = _args .GetAllPositionals() .Select(p => p.AsString()) .ToList(); if (libraries.Count == 0) { libraries = _environment.Libraries; } SetVersions(libraries, version); }
public void Execute() { int index = 0; foreach (var p in _args.GetAllPositionals()) { _output.WriteLine($"{index}: {p.Value}"); index++; } foreach (var n in _args.GetAllNamed()) { _output.WriteLine($"'{n.Name}': {n.Value}"); } foreach (var f in _args.GetAllFlags()) { _output.WriteLine($"flag: {f.Name}"); } }
public void Execute() { var subverb = _args.Shift().Require("Must provide an action").AsString(); if (subverb == ListSubverb) { foreach (var kvp in _state.Metadata) { _output.Color(ConsoleColor.Green).Write(kvp.Key); _output.Write(": "); _output.WriteLine(kvp.Value.GetType().Name); } return; } if (subverb == RemoveSubverb) { foreach (var name in _args.GetAllPositionals()) { _state.Metadata.Remove(name.AsString()); } } }