Esempio n. 1
0
 public CommandLineOptionBase(CommandLineParserOptions parserOptions, object source, LambdaExpression selector, IArgumentResolverFactory resolver)
 {
     m_parserOptions   = parserOptions ?? throw new ArgumentNullException(nameof(source));
     m_source          = source ?? throw new ArgumentNullException(nameof(source));
     m_selector        = selector ?? throw new ArgumentNullException(nameof(selector));
     m_resolverFactory = resolver ?? throw new ArgumentNullException(nameof(resolver));
 }
        public CommandLineCommand(CommandLineParserOptions parserOptions, IArgumentResolverFactory resolverFactory, IContainerResolver containerResolver, TOption option)
        {
            m_parserOptions = parserOptions;
            m_commandOption = new TCommandOption();

            m_containerResolver = containerResolver;
            m_resolverFactory   = resolverFactory;
            m_baseOption        = option;

            if (m_parserOptions.EnableHelpOption)
            {
                var tokens = m_parserOptions.HelpOptionName.Split('|');

                if (tokens.Length > 1)
                {
                    m_helpOptionName     = $"{m_parserOptions.PrefixShortOption}{tokens[0]}";
                    m_helpOptionNameLong = $"{m_parserOptions.PrefixLongOption}{tokens[1]}";
                }
                else
                {
                    m_helpOptionName     = $"{m_parserOptions.PrefixLongOption}{tokens[0]}";
                    m_helpOptionNameLong = null;
                }
            }

            InitialzeModel();
        }
        /// <summary>
        /// Creates a new instance of the commandline parser
        /// </summary>
        /// <param name="argumentResolverFactory">argument resolver to use</param>
        /// <param name="containerResolver">container resolver to use</param>
        /// <param name="parserOptions">The options the parser will use</param>
        public CommandLineParser(CommandLineParserOptions parserOptions, IArgumentResolverFactory argumentResolverFactory, IContainerResolver containerResolver)
        {
            ParserOptions = parserOptions;
            m_option      = new TOption();

            m_options  = new Dictionary <string, CommandLineOptionBase>();
            m_commands = new List <CommandLineCommandBase>();

            ArgumentResolverFactory = argumentResolverFactory;
            ContainerResolver       = containerResolver;

            if (string.IsNullOrWhiteSpace(ParserOptions.AppName))
            {
                ParserOptions.AppName = Process.GetCurrentProcess().ProcessName;
            }

            Printer = new UsagePrinter(parserOptions, this, new UsageBuilder(parserOptions));

            if (ParserOptions.EnableHelpOption)
            {
                var tokens = ParserOptions.HelpOptionName.Split('|');

                if (tokens.Length > 1)
                {
                    m_helpOptionName     = $"{ParserOptions.PrefixShortOption}{tokens[0]}";
                    m_helpOptionNameLong = $"{ParserOptions.PrefixLongOption}{tokens[1]}";
                }
                else
                {
                    m_helpOptionName     = $"{ParserOptions.PrefixLongOption}{tokens[0]}";
                    m_helpOptionNameLong = null;
                }
            }

            InitialzeModel();
        }
 /// <summary>
 /// Creates a new instance of the commandline parser
 /// </summary>
 /// <param name="argumentResolverFactory">argument resolver to use</param>
 public CommandLineParser(IArgumentResolverFactory argumentResolverFactory)
     : this(new CommandLineParserOptions(), argumentResolverFactory, new DefaultContainerResolver())
 {
 }
Esempio n. 5
0
 /// <summary>
 /// Creates a new instance of the commandline parser
 /// </summary>
 /// <param name="argumentResolverFactory">argument resolver to use</param>
 /// <param name="containerResolver">container resolver to use</param>
 public CommandLineParser(CommandLineParserOptions parserOptions, IArgumentResolverFactory argumentResolverFactory, IContainerResolver containerResolver)
     : base(parserOptions, argumentResolverFactory, containerResolver)
 {
 }
Esempio n. 6
0
 /// <summary>
 /// Creates a new instance of the commandline parser
 /// </summary>
 /// <param name="parserOptions">options that the parser will use</param>
 /// <param name="argumentResolverFactory">argument resolver to use</param>
 public CommandLineParser(CommandLineParserOptions parserOptions, IArgumentResolverFactory argumentResolverFactory)
     : base(parserOptions, argumentResolverFactory)
 {
 }
Esempio n. 7
0
 /// <summary>
 /// Creates a new instance of the commandline parser
 /// </summary>
 /// <param name="argumentResolverFactory">argument resolver to use</param>
 public CommandLineParser(IArgumentResolverFactory argumentResolverFactory)
     : base(argumentResolverFactory)
 {
 }
Esempio n. 8
0
 public CommandLineOption(CommandLineParserOptions parserOptions, object source, LambdaExpression selector, IArgumentResolverFactory resolver)
     : base(parserOptions, source, selector, resolver)
 {
 }