BorisEetgerink.ConsoleExtensions
1.3.0
Prefix Reserved
See the version list below for details.
dotnet add package BorisEetgerink.ConsoleExtensions --version 1.3.0
NuGet\Install-Package BorisEetgerink.ConsoleExtensions -Version 1.3.0
<PackageReference Include="BorisEetgerink.ConsoleExtensions" Version="1.3.0" />
<PackageVersion Include="BorisEetgerink.ConsoleExtensions" Version="1.3.0" />
<PackageReference Include="BorisEetgerink.ConsoleExtensions" />
paket add BorisEetgerink.ConsoleExtensions --version 1.3.0
#r "nuget: BorisEetgerink.ConsoleExtensions, 1.3.0"
#:package BorisEetgerink.ConsoleExtensions@1.3.0
#addin nuget:?package=BorisEetgerink.ConsoleExtensions&version=1.3.0
#tool nuget:?package=BorisEetgerink.ConsoleExtensions&version=1.3.0
.NET Console Extensions
Various console extensions to handle user input.
Confirm
Display a confirmation prompt with a preset default. The user can select the yes or no key, press enter to select the default or escape to select the other option.
Usage
using BorisEetgerink.ConsoleExtensions;
// The default usage.
bool confirmDefault = ConsoleExtensions.Confirm("Continue?");
// Set the no option as the default.
bool continueWithCaution = ConsoleExtensions.Confirm("Are you sure?", false);
// Built in support for different languages.
bool confirmFrench = ConsoleExtensions.Confirm("Continuer?", true, 'o', 'n');
Output
Continue? [Y/n]:
Supported keys
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
Display a prompt with a list of options. The user can select the appropriate option with the up and down arrow keys and confirm with the enter key.
Usage
using BorisEetgerink.ConsoleExtensions;
// Select from a list of hard-coded options:
int selectedIndex = ConsoleExtensions.PickOne("Which is your favorite OS?", "Linux", "MacOS", "Windows");
// Select from an IEnumerable<string> of options:
List<string> operatingSystems = new() { "Linux", "MacOS", "Windows" };
int selectedIndex = ConsoleExtensions.PickOne("Pick your favorite OS:", operatingSystems);
// Optionally set the selected index (defaults to zero, the first option):
List<string> operatingSystems = new() { "Linux", "MacOS", "Windows" };
int selectedIndex = ConsoleExtensions.PickOne("Pick your favorite OS:", 2, operatingSystems);
Output
Pick your favorite OS:
>Linux
MacOS
Windows
Supported keys
↑/↓: Select the previous or the next option from the list.Enter: Confirm the selected option.
ReadInt
Extension to ReadLine to enter a number.
Usage
using BorisEetgerink.ConsoleExtensions;
int number = ConsoleExtensions.ReadInt("ID>", 42, "Invalid ID.");
Output
ID>abc
Invalid ID.
ID>42
Supported keys
See supported keys of ReadLine.
ReadLine
Enable a prompt and default input as an extension to Console.ReadLine().
Usage
using BorisEetgerink.ConsoleExtensions;
string? line = ConsoleExtensions.ReadLine("What is your favorite color? >", "Green");
Output
What is your favorite color? >Green
Supported keys
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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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.
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.