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