Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 /// <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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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}");
            }
        }
Exemplo n.º 6
0
        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());
                }
            }
        }