PromptPlus 4.2.0
dotnet add package PromptPlus --version 4.2.0
NuGet\Install-Package PromptPlus -Version 4.2.0
<PackageReference Include="PromptPlus" Version="4.2.0" />
paket add PromptPlus --version 4.2.0
#r "nuget: PromptPlus, 4.2.0"
// Install PromptPlus as a Cake Addin #addin nuget:?package=PromptPlus&version=4.2.0 // Install PromptPlus as a Cake Tool #tool nuget:?package=PromptPlus&version=4.2.0
Welcome to PromptPlus
Interactive command-line toolkit for .NET Core with powerful controls and commands to create professional console applications.
All controls input/filter (except Masked input) using GNU Readline Emacs keyboard shortcuts.
PromptPlus Supports 4/8/24-bit colors in the terminal with auto-detection of the current terminal's capabilities and automatic color conversion.
Visit the official page for complete documentation of PromptPlus
PromptPlus was developed in C# with the netstandard2.1, .NET 6 , .NET 7 and .NET 8 target frameworks.
What's new in V4.2.0
- Added .NET8 target frameworks.
- Split of feature:
- PromptPlus.TableSelect<T> to Select item in table : Select row, column and data in a grid/table
- Samples in project Table Select Samples
- PromptPlus.Table<T> to write table in console : Show data in a grid/table
- Samples in project Table Samples
- PromptPlus.TableSelect<T> to Select item in table : Select row, column and data in a grid/table
- New Control : TableMultSelect<T> : Select multi-data in a grid/table
- Samples in project Table MultiSelect Samples
- Main features :
- More than 80 layout combinations
- Navigation by row and columns
- Scroll the table when it is larger than the screen
- Split text when it is larger than the column size
- Automatic header and column completion
- Color customization of each element
- Search for data filtered by columns
- Formatting by column or by data type definition
- New feature:
- MinimalRender the prompt and control description are not rendered, showing only the minimum necessary without using resources.
- Global property : MinimalRender
- Instance control(By config command): MinimalRender(bool value = true)
- MinimalRender the prompt and control description are not rendered, showing only the minimum necessary without using resources.
- New feature:
- Pagination Template to customize pagination information
- Global property : PaginationTemplate
- Instance control(By config command) : PaginationTemplate(Func<int, int, int, string>? value)
- Pagination Template to customize pagination information
- New feature:
- PromptPlus.Join()
- Fluent-Interface to write text (less code typed)
- Changed feature:
- Moved tooltips and validation message to the end of render to all control
- Improvement :
- Color Token now accepts ':' to separate foreground color from background color
- eg: [RED:BLUE] = [RED ON BLUE]
- Improvement :
- Optimized the Calendar control to have symbols when selecting elements
- Improvement :
- Optimize Render of ProgressBar (less lines)
- Improvement :
- Optimize Render of SliderNumber (less lines)
- Improvement :
- Added Styles command for custom colors on all controls
- Removed the ApplyStyle command from the Config interface (now use the Styles command)
- Added ToStyle() extension for Color Class (less code typed)
- Added Styles command for custom colors on all controls
- Improvement :
- Added command HideRange to not show range (Min/Max values) in the SliderNumber control
- Improvement :
- Optimize resource usage in rendering (less cultural dependency)
- Improvement :
- Reinforce the validation of invalid or optional parameters in all controls
- Improvement :
- Remove code copy (MIT license) from other project and applied package (for lower maintenance)
- Improvement :
- Optimized the WaitControl control (for cancel correctly tasks)
- Removed property Context (EventWaitProcess)
- Added Method ChangeContext(Action<T> action) in EventWaitProcess (for change context over thread safe)
- Renamed command 'CancelAllNextTasks' to 'CancelAllTasks' (WaitControl)
- Documentation:
- Examples of snapshot controls updated to reflect layout changes and reduced image size (faster page loading)
- Reviewed credit references and licenses
- Renamed command:
- 'DescriptionWithInputType' to 'ShowTipInputType'.
- Now extra-line to tip InputType
- Renamed command:
- 'AppendGroupOnDescription' to 'ShowTipGroup'.
- Now extra-line to tip group
- Fixed bug :
- Table control does not render correctly when it does not support Unicode
- Fixed bug :
- The Slide Switch Control does not show on/off values when they are not customized
- Fixed bug :
- Alternate screen doesn't update background style when changing color
- Fixed bug :
- Exception when try delete[F3] in empty colletion in AddTolist/AddtoMaskEditList control
- Fixed bug :
- Edit[F2] Immutable item in AddTolist/AddtoMaskEditList control
- Fixed bug :
- CTRL-V (paste data) does not show input in some controls
- Fixed bug :
- Refinement of Unicode symbol rendering in all controls (Corret render)
- Removed Control Pipeline :
- Now use PipeAndFilter component
- See Pipeline Sample
PromptPlus Controls - Sample Usage
//ASCII text banners
PromptPlus
.Banner("PromptPlus v4.0")
.Run(Color.Yellow,BannerDashOptions.DoubleBorderUpDown);
//MaskEdit DateTime
var mask = PromptPlus.MaskEdit("input", "MaskEdit DateTime input")
.Mask(MaskedType.DateTime)
.DescriptionWithInputType(FormatWeek.Short)
.Culture("en-us")
.AcceptEmptyValue()
.Run();
if (!mask.IsAborted)
{
PromptPlus.WriteLine($"You input with mask is {mask.Value.Masked}");
PromptPlus.WriteLine($"You input without mask is {mask.Value.Input}");
}
//INPUT
var input = PromptPlus
.Input("Input sample")
.Default("foo")
.Run();
if (!input.IsAborted)
{
PromptPlus.WriteLine($"You input is {input.Value}");
}
//AnyKey
var kp = PromptPlus
.KeyPress()
.Config(cfg => cfg.HideAfterFinish(true))
.Spinner(SpinnersType.DotsScrolling)
.Run();
Supported platforms
- Windows
- Command Prompt, PowerShell, Windows Terminal
- Linux (Ubuntu, etc)
- Windows Terminal (WSL 2)
- macOS
- Terminal.app
Credits
PromptPlus <u>includes code(Copy)</u> from other software released under the MIT license:
Spectre.Console, Copyright (c) 2020 Patrik Svensson, Phil Scott, Nils Andresen. See LICENSE.
EastAsian width generated by package
- EastAsianWidthDotNet, Copyright (c) 2020 Atsushi Nakamura. See LICENSE.
API documentation generated by
License
Copyright 2021 @ Fernando Cerqueira
PromptPlus is licensed under the MIT license. See LICENSE.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. 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 Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | 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.1
- EastAsianWidthDotNet (>= 1.0.1)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.IO (>= 4.3.0)
- System.Text.Json (>= 7.0.3)
-
net6.0
- EastAsianWidthDotNet (>= 1.0.1)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.IO (>= 4.3.0)
- System.Text.Json (>= 7.0.3)
-
net7.0
- EastAsianWidthDotNet (>= 1.0.1)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.IO (>= 4.3.0)
- System.Text.Json (>= 7.0.3)
-
net8.0
- EastAsianWidthDotNet (>= 1.0.1)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.IO (>= 4.3.0)
- System.Text.Json (>= 7.0.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on PromptPlus:
Package | Downloads |
---|---|
PromptPlusCommandDotNet
Integration with the Command DotNet package with interactive command-line for toolkit for C# with powerful controls and commands. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on PromptPlus:
Repository | Stars |
---|---|
ividyon/WitchyBND
Unpacks/repacks FromSoftware archive formats and serializes FromSoftware data formats.
|
Version | Downloads | Last updated | |
---|---|---|---|
4.2.0 | 852 | 11/14/2023 | |
4.1.0 | 286 | 10/4/2023 | |
4.0.5 | 305 | 9/15/2023 | |
4.0.4 | 263 | 8/7/2023 | |
4.0.3 | 175 | 7/31/2023 | |
4.0.2 | 176 | 7/25/2023 | |
4.0.1 | 169 | 7/21/2023 | |
4.0.0 | 190 | 7/20/2023 | |
3.3.3 | 1,088 | 2/26/2023 | |
3.3.2 | 272 | 2/24/2023 | |
3.3.1 | 236 | 2/23/2023 | |
3.3.0 | 249 | 2/22/2023 | |
3.2.2 | 271 | 2/16/2023 | |
3.2.1 | 266 | 2/14/2023 | |
3.2.0 | 312 | 1/20/2023 | |
3.1.0 | 306 | 1/16/2023 | |
3.0.0 | 585 | 1/28/2022 | |
2.1.0 | 1,520 | 11/11/2021 |