BorisEetgerink.ConsoleExtensions
2.0.0
Prefix Reserved
dotnet add package BorisEetgerink.ConsoleExtensions --version 2.0.0
NuGet\Install-Package BorisEetgerink.ConsoleExtensions -Version 2.0.0
<PackageReference Include="BorisEetgerink.ConsoleExtensions" Version="2.0.0" />
paket add BorisEetgerink.ConsoleExtensions --version 2.0.0
#r "nuget: BorisEetgerink.ConsoleExtensions, 2.0.0"
// Install BorisEetgerink.ConsoleExtensions as a Cake Addin #addin nuget:?package=BorisEetgerink.ConsoleExtensions&version=2.0.0 // Install BorisEetgerink.ConsoleExtensions as a Cake Tool #tool nuget:?package=BorisEetgerink.ConsoleExtensions&version=2.0.0
.NET Console Extensions
Various console extensions to handle user input. Bug reports, feature ideas and PRs are welcome through the GitHub project.
Confirm
Display a confirmation prompt with a preset default.
Usage
using BorisEetgerink.ConsoleExtensions;
bool confirmed = ConsoleExtensions.Confirm(options =>
{
options.Prompt = "Continue?";
options.DefaultChoice = true;
options.YesChar = 'y';
options.NoChar = 'n';
});
Output
Continue? [Y/n]:
PickOne
Display a prompt with a list of options.
Usage
using BorisEetgerink.ConsoleExtensions;
int selectedIndex = ConsoleExtensions.PickOne(options =>
{
options.Prompt = "Which is your favorite OS?";
options.Items = new[] { "Linux", "MacOS", "Windows" };
options.DefaultChoice = 2;
});
Output
Pick your favorite OS:
Linux
MacOS
>Windows
ReadInt
Extension to ReadLine to enter a number.
Usage
using BorisEetgerink.ConsoleExtensions;
int number = ConsoleExtensions.ReadInt(options =>
{
options.Prompt = "ID:";
options.DefaultInput = 42;
options.InvalidNumberMessage = "Invalid number...";
});
Output
ID:abc
Invalid number...
ID:42
ReadLine
Enable a prompt and default input as an extension to Console.ReadLine()
.
Optionally mask input with asterisks for password entry, for example.
Usage
using BorisEetgerink.ConsoleExtensions;
string username = ConsoleExtensions.ReadLine(options =>
{
options.Prompt = "Username:";
options.DefaultInput = "Boris";
options.MaskInput = false;
});
string password = ConsoleExtensions.ReadLine(options =>
{
options.Prompt = "Password:";
options.MaskInput = true;
});
Output
Username:Boris
Password:************
Supported keys
Confirm
Enter
: Select the default option (defaults to yes).Esc
: Select the other option (defaults to no).y
: The default yes-key. Can be overridden.n
: The default no-key. Can be overridden.
PickOne
↑
/↓
: Select the previous or the next option from the list.Enter
: Confirm the selected option.
ReadLine, ReadPassword, ReadInt
Backspace
/Delete
: Remove one character to the left or right.←
/→
: Move the cursor to the left or right.Ctrl + ←
/Ctrl + →
: Move the cursor one word to the left or right.Home
/End
: Move the cursor to the beginning or the end of the line.Esc
: Clear the line.Ctrl + Z
: Reset the line to the default input.Enter
: Confirm the input.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
v2.0.0: Add Action overloads to configure the methods. Deprecated other method overloads.
Please upgrade to the Action method overload, as the other method overloads will be removed in v3.
v1.4.0: Add ReadPassword.
v1.3.0: Add ReadInt.
v1.2.2: Improve code reuse, optimize render loop of PickOne.
v1.2.1: Fix issue #1: ReadLine ArgumentOutOfRangeException.
v1.2.0: Add PickOne.
v1.1.1: Include debug symbols.
v1.1.0: Add Confirm.
v1.0.0: Initial release of ReadLine.