示例#1
0
        public override CommandResult Execute()
        {
            Console.WriteLine("Entering loop.");

            var keyBindingSet = ConsoleKeyBindingSet.CreateDefaultSet();

            keyBindingSet.Bind('c', ConsoleModifiers.Control, ConsoleInputOperation.Abort);

            ++_count;

            var parameters = new LoopInputOutputParameters
            {
                Prompt                    = new ColoredString($"Loop{new string('>', _count)} ", ConsoleColor.Cyan),
                KeyBindingSet             = keyBindingSet,
                EndOfLineCommentCharacter = '#'
            };

            var attrib = new ArgumentSetAttribute
            {
                Style = ArgumentSetStyle.GetOpt
            };

            new Loop(typeof(MainCommandType), parameters, attrib).Execute();

            --_count;

            Console.WriteLine("Exited loop.");

            return(CommandResult.Success);
        }
示例#2
0
        public void LoopCreatedWithIoParameters()
        {
            var keys = OnlyExitableCommand.Exit.ToString().AsKeys().Concat(
                ConsoleKey.Enter.ToKeyInfo());

            var input  = new SimulatedConsoleInput(keys);
            var output = new SimulatedConsoleOutput();

            var parameters = new LoopInputOutputParameters
            {
                ConsoleInput  = input,
                ConsoleOutput = output
            };

            new Loop <OnlyExitableCommand>(parameters, null).Execute();
        }
示例#3
0
文件: Program.cs 项目: reubeno/NClap
        private static void RunInteractively()
        {
            Console.WriteLine("Entering loop.");

            var options = new LoopOptions
            {
                EndOfLineCommentCharacter = '#'
            };

            var keyBindingSet = ConsoleKeyBindingSet.CreateDefaultSet();
            keyBindingSet.Bind('c', ConsoleModifiers.Control, ConsoleInputOperation.Abort);

            var parameters = new LoopInputOutputParameters
            {
                Prompt = new ColoredString("Loop> ", ConsoleColor.Cyan),
                KeyBindingSet = keyBindingSet
            };

            Loop<VerbType>.Execute(parameters, options);

            Console.WriteLine("Exited loop.");
        }