PromptPlus 6.0.0-rc2

This is a prerelease version of PromptPlus.
dotnet add package PromptPlus --version 6.0.0-rc2
                    
NuGet\Install-Package PromptPlus -Version 6.0.0-rc2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PromptPlus" Version="6.0.0-rc2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PromptPlus" Version="6.0.0-rc2" />
                    
Directory.Packages.props
<PackageReference Include="PromptPlus" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PromptPlus --version 6.0.0-rc2
                    
#r "nuget: PromptPlus, 6.0.0-rc2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PromptPlus@6.0.0-rc2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PromptPlus&version=6.0.0-rc2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=PromptPlus&version=6.0.0-rc2&prerelease
                    
Install as a Cake Tool

PromptPlus

A modern .NET library that delivers polished, interactive console experiences - text input, searchable lists, masked fields, date/time pickers, file browsers, progress bars, charts and more - all through one sleek fluent API.

NuGet License: MIT .NET


PromptPlus transforms your console apps with 20+ interactive controls and 6 output-only widgets, configured through a readable fluent API. It supports two-layer configuration (global defaults + per-control overrides), abort-anywhere with IsAborted flag, history persistence, terminal resize detection, and 11 built-in locales.

PromptPlus is built on top of ConsolePlus and shares the same IConsole driver for styled output.

Key Features

  • 20+ interactive controls - from key-press to multi-column tables and tree browsers
  • 6 output-only widgets - sliders, calendars, banners, charts without blocking
  • Fluent API - every control configured with readable method chains
  • Two-layer config - set defaults with PromptPlus.Config, override per control with .Options()
  • Abort anywhere - Esc aborts any control; result carries an IsAborted flag
  • History persistence - last confirmed value saved and pre-loaded automatically
  • Terminal-safe - auto-detects size, re-renders on resize, enforces 80x10 minimum
  • Localization - 11 built-in locales selected from current culture
  • Cross-platform - Windows, Linux, macOS; .NET 8, 9 and 10

Installation

dotnet add package PromptPlus

Or via the Package Manager Console:

Install-Package PromptPlus

Supported frameworks: .NET 8, .NET 9, .NET 10

Quick Start

using PromptPlusLibrary;

// Ask for a name
var nameResult = PromptPlus.Controls.Input("Your name").Run();
if (nameResult.IsAborted) return;

// Choose a color
var colorResult = PromptPlus.Controls
    .Select<string>("Favorite color")
    .AddItems(["Red", "Green", "Blue"])
    .Run();

// Deconstruct result
var (color, aborted) = colorResult;
if (!aborted)
    PromptPlus.Console.WriteLine($"Hello {nameResult.Content}, you chose {color}!");

Tip: Every control returns ResultPrompt<T>. Use .Content for the value, .IsAborted to detect Esc, or deconstruct with var (value, aborted) = result.

Two-Layer Configuration

// Layer 1 - global defaults applied to all controls
PromptPlus.Config.PageSize = 8;
PromptPlus.Config.HideAfterFinish = true;

// Layer 2 - per-control override always wins
PromptPlus.Controls
    .Input("Notes")
    .Options(o => o.HideAfterFinish(false).ShowTooltip(false))
    .Run();

Controls

Input, Secret, KeyPress, Confirm, Select / MultiSelect, Table / MultiTable, Tree / MultiTree, File / MultiFile, Calendar, Slider, Switch, Time, ProgressBar, Task / MultiTasks, ChartBar and a full family of Mask editors (string, integer, long, decimal, double, currency, date, time, DateOnly, TimeOnly).

Widgets (output-only)

Slider, Calendar, Switch, Banner, Dash separator, ChartBar.

Localization

11 built-in locales: English (default), pt-BR, de-DE, es-ES, fr-FR, it-IT, ja-JP, ko-KR, nl-BE, ru-RU, zh-CN. Custom locales supported via satellite resource files.


Documentation & Samples

The full documentation, control reference, keyboard bindings, styling guide and runnable samples are available in the project repository.

Full README and docs on GitHub


License

MIT (c) PromptPlus contributors

Product Compatible and additional computed target framework versions.
.NET 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.  net9.0 is compatible.  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 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
chinese-liliths-throne/BDCCChineseLocalization