Exemplo n.º 1
0
        /// <summary>
        /// Get the default CommandParser instance with default parser objects configured
        /// </summary>
        /// <returns></returns>
        public static CommandParser GetDefault()
        {
            var verbParser   = VerbGrammar.GetParser();
            var argParser    = SimplifiedArgumentGrammar.GetParser();
            var scriptParser = ScriptFormatGrammar.CreateParser(verbParser);

            return(new CommandParser(verbParser, argParser, scriptParser));
        }
Exemplo n.º 2
0
        private CommandParser GetSimplifiedParser()
        {
            var verbParser   = VerbGrammar.GetParser();
            var argParser    = SimplifiedArgumentGrammar.GetParser();
            var scriptParser = ScriptFormatGrammar.CreateParser(verbParser);

            return(new CommandParser(verbParser, argParser, scriptParser));
        }
Exemplo n.º 3
0
        public ICommandParser Build()
        {
            if (_parser != null)
            {
                return(_parser);
            }

            var argParser    = _argParser ?? SimplifiedArgumentGrammar.GetParser();
            var verbParser   = _verbParser ?? VerbGrammar.GetParser();
            var scriptParser = _scriptParser ?? ScriptFormatGrammar.CreateParser(verbParser);

            return(new CommandParser(verbParser, argParser, scriptParser));
        }
Exemplo n.º 4
0
        public void UseScriptParser_Test()
        {
            var output     = new TestOutput();
            var verbParser = VerbGrammar.GetParser();
            var engine     = new EngineBuilder()
                             .SetupHandlers(h => h.UseHandlerTypes(typeof(TestHandler)))
                             .SetupOutput(o => o.DoNotUseConsole().Add(output))
                             .SetupArguments(a => a.UseScriptParser(ScriptFormatGrammar.CreateParser(verbParser)))
                             .Build();

            engine.RunHeadless("test a b=x -c");
            output.Lines.Count.Should().Be(3);
            output.Lines[0].Should().Be("a");
            output.Lines[1].Should().Be("x");
            output.Lines[2].Should().Be("True");
        }