Exemplo n.º 1
0
        private bool MatchesAllShortForms(CommandLineArgument.BareNameOrFlag argument)
        {
            var parts = argument.Name.ToCharArray().ToList();

            if (parts.Count == 0)
            {
                return(false);
            }

            foreach (var parameter in _parameterModels)
            {
                foreach (var c in parts)
                {
                    if (parameter.MatchesShortForm(c))
                    {
                        parts.Remove(c);
                        break;
                    }
                }
            }

            if (parts.Any())
            {
                return(false);
            }

            return(true);
        }
        public CommandLineArgumentList ExpandShortFormArgument(
            CommandLineArgument.BareNameOrFlag argumentToExpand)
        {
            var newArgumentList = this.ToList();

            newArgumentList.Remove(argumentToExpand);

            foreach (var c in argumentToExpand.Name.ToCharArray())
            {
                newArgumentList.Add(new CommandLineArgument.BareNameOrFlag(
                                        c.ToString(),
                                        $"{CommandLineEnvironment.FlagGlyph}{c}"));
            }

            return(new CommandLineArgumentList(
                       newArgumentList,
                       IsCallForHelp,
                       TraceToStandardOutput));
        }