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); }
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); }