コード例 #1
0
ファイル: ReplCommand.cs プロジェクト: xiaoxiongnpu/NClap
        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 NoOp()
        {
            var anyKey = Any.Enum <ConsoleKey>();

            var bindingSet = ConsoleKeyBindingSet.CreateDefaultSet();

            bindingSet.Bind(anyKey, (ConsoleModifiers)0, ConsoleInputOperation.NoOp);

            var reader = CreateReader(bindingSet: bindingSet);

            reader.ProcessKey(anyKey.ToKeyInfo()).Should().Be(ConsoleInputOperationResult.Normal);
        }