Trivial.Console
7.2.0
Please update to latest version.
See the version list below for details.
dotnet add package Trivial.Console --version 7.2.0
NuGet\Install-Package Trivial.Console -Version 7.2.0
<PackageReference Include="Trivial.Console" Version="7.2.0" />
paket add Trivial.Console --version 7.2.0
#r "nuget: Trivial.Console, 7.2.0"
// Install Trivial.Console as a Cake Addin #addin nuget:?package=Trivial.Console&version=7.2.0 // Install Trivial.Console as a Cake Tool #tool nuget:?package=Trivial.Console&version=7.2.0
Trivial.Console
This library includes a lot of useful rich command line controls.
Import
Add following namespace to your code file to use.
using Trivial.CommandLine;
Select
A beautiful list or table with customized style to the standard output stream
so that user just need press the arrow buttons and ENTER
in keyboard to select.
// Create an instance for adding items and setting options.
var col = new Trivial.Collection.SelectionData<string>();
// Add some items. For each item, you can set a hotkey, a display name and the data.
col.Add('a', "char a", "a");
col.Add('b', "char b", "b");
for (var i = 0; i < 120; i++)
{
col.Add("num " + i, i.ToString());
}
// Create an options for display.
var options = new SelectionOptions
{
// You can define a question string after the list.
Question = "Please select one: ",
// We can define the colors of the item selected.
SelectedForegroundConsoleColor = ConsoleColor.White,
SelectedBackgroundConsoleColor = ConsoleColor.Blue,
// The selected item will also be displayed after the question string.
// So you can define its color.
ItemForegroundConsoleColor = ConsoleColor.Cyan,
// At the end of the list, the tips will be displayed before user press any key.
// There is a default value and you can customize it.
// And you can disable it by set it as null.
Tips = "Tips: You can use arrow key to select and press ENTER key to continue.",
// Then you can define its color.
TipsForegroundConsoleColor = ConsoleColor.Yellow,
// You can define the prefix for the item and the one selected.
SelectedPrefix = "> ",
Prefix = " ",
// You can define the column count for the list.
Column = 5,
// You can define the maximum rows to displayed.
// A paging will be displayed if the count of the list is greater than it.
MaxRow = 10,
// Press ESC can cancel this selection.
// But you can enable the manual way by set a manual question
// so that user can type the words directly.
ManualQuestion = "Type: "
};
// Write it to the standard output stream and wait for user selection.
var result = DefaultConsole.Select(col, options);
// You can get the result.
DefaultConsole.WriteLine("The result is {0}.", result.Value);
Progress
A progress bar in terminal that can present the latest state during the specific task running.
// Define an options that you can custom the style.
var progressStyle = new ConsoleProgressStyle
{
ValueConsoleColor = ConsoleColor.White
};
// Ouput the component in console and get the progress instance to update.
var progress = DefaultConsole.WriteLine(progressStyle, "Processing");
// A time-consuming work here.
for (var i = 0; i <= 50; i++)
{
await Task.Delay(10);
// And report the progress updated.
progress.Report(0.02 * i);
}
JSON
Following is a sample to format JSON into terminal.
var json = new Trivial.Text.JsonObjectNode();
// and then add some properties to json.
DefaultConsole.WriteLine(json);
Linear gradient
Output a string with linear gradient.
DefaultConsole.WriteLine(new LinearGradientConsoleStyle(
ConsoleColor.Gray, // Fallback color.
Color.FromArgb(15, 250, 250), // From color.
Color.FromArgb(85, 168, 255)) // To color
{
Bold = true // Additional font style
},"Trivial Sample");
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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 is compatible. 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 is compatible. 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 Framework | net461 is compatible. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
9.0.0 | 75 | 12/12/2024 | |
9.0.0-preview6 | 122 | 12/4/2024 | |
8.0.0 | 210 | 9/8/2024 | |
7.2.0 | 1,193 | 11/16/2023 | |
7.1.0 | 256 | 5/8/2023 | |
7.0.0 | 459 | 1/20/2023 | |
6.6.0 | 552 | 11/9/2022 | |
6.5.1 | 474 | 6/28/2022 | |
6.5.0 | 454 | 6/28/2022 | |
6.4.0 | 497 | 4/14/2022 | |
6.3.0 | 489 | 3/8/2022 | |
6.2.0 | 2,227 | 1/30/2022 | |
6.1.0 | 488 | 1/23/2022 | |
6.0.0 | 335 | 1/1/2022 | |
5.2.0 | 358 | 12/15/2021 | |
5.1.0 | 326 | 12/2/2021 | |
5.0.0 | 325 | 11/27/2021 | |
4.0.0 | 358 | 11/9/2021 | |
3.9.0 | 347 | 12/15/2021 | |
3.8.0 | 425 | 11/9/2021 | |
3.7.2 | 613 | 4/22/2021 | |
3.7.1 | 463 | 4/20/2021 | |
3.7.0 | 530 | 3/17/2021 | |
3.6.0 | 745 | 11/12/2020 | |
3.5.2 | 844 | 4/14/2020 | |
3.5.1 | 917 | 4/12/2020 | |
3.5.0 | 995 | 4/1/2020 | |
3.4.0 | 1,091 | 2/20/2020 | |
3.3.0 | 1,256 | 2/14/2020 | |
3.2.0 | 1,623 | 1/22/2020 | |
3.1.0 | 1,639 | 12/30/2019 | |
3.0.1 | 1,541 | 12/26/2019 | |
2.2.0 | 1,267 | 2/19/2020 | |
2.1.0 | 1,687 | 12/24/2019 | |
2.0.0 | 1,595 | 8/31/2019 | |
1.2.0 | 1,673 | 5/20/2019 | |
1.1.0 | 1,579 | 5/8/2019 | |
1.0.0 | 1,601 | 5/1/2019 |