Example #1
0
        private static void ApplyCleanup(ConsoleString prompt, IConsole console, ConsolePoint start, ConsoleReader reader, ReadlineCleanup cleanup)
        {
            switch (cleanup)
            {
            case ReadlineCleanup.None:
                console.WriteLine();
                break;

            case ReadlineCleanup.RemovePrompt:
                var text = reader.Text;
                reader.Text = string.Empty;
                console.SetCursorPosition(start);
                console.Write(new string(' ', prompt.Length));
                console.SetCursorPosition(start);
                console.WriteLine(text);
                break;

            case ReadlineCleanup.RemoveAll:
                reader.Text = string.Empty;
                console.SetCursorPosition(start);
                console.Write(new string(' ', prompt.Length));
                console.SetCursorPosition(start);
                break;
            }
        }
 public static ReadlineConfiguration <T> WithCleanup <T>(this ReadlineConfiguration <T> composer, ReadlineCleanup success, ReadlineCleanup cancel)
 {
     return(new ReadlineConfiguration <T>
            (
                prompt: composer.Prompt,
                @default: composer.Default,
                cleanup: new ReadlineCleanupConfiguration
                (
                    success: success,
                    cancel: cancel
                ),
                parser: composer.Parser,
                validator: composer.Validator
            ));
 }
Example #3
0
 public ReadlineCleanupConfiguration(ReadlineCleanup success, ReadlineCleanup cancel)
 {
     Success = success;
     Cancel  = cancel;
 }
 public static ReadlineConfiguration <T> WithCleanup <T>(this ReadlineConfiguration <T> composer, ReadlineCleanup cleanup = ReadlineCleanup.RemoveAll)
 {
     return(composer.WithCleanup(cleanup, cleanup));
 }