ConsolePlus.net 1.0.0-rc2

This is a prerelease version of ConsolePlus.net.
dotnet add package ConsolePlus.net --version 1.0.0-rc2
                    
NuGet\Install-Package ConsolePlus.net -Version 1.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="ConsolePlus.net" Version="1.0.0-rc2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ConsolePlus.net" Version="1.0.0-rc2" />
                    
Directory.Packages.props
<PackageReference Include="ConsolePlus.net" />
                    
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 ConsolePlus.net --version 1.0.0-rc2
                    
#r "nuget: ConsolePlus.net, 1.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 ConsolePlus.net@1.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=ConsolePlus.net&version=1.0.0-rc2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=ConsolePlus.net&version=1.0.0-rc2&prerelease
                    
Install as a Cake Tool

ConsolePlus

A modern .NET library for building beautiful, cross-platform console applications.

NuGet License: MIT .NET


ConsolePlus is a .NET library that makes it easier to create beautiful, cross-platform console applications. It provides a rich, styled output engine (colors, markup, emoji, banners), robust input helpers, terminal-capability detection, ANSI escape sequence control, and screen/buffer management — all behind one clean, static entry point: ConsolePlus.

ConsolePlus is heavily inspired by the excellent Spectre.Console and serves as the core foundation for PromptPlus.

✨ Key Features

  • 🎨 Rich colors — 148 CSS named colors, HEX, RGB, 4-bit/8-bit/24-bit (TrueColor) with automatic down-sampling
  • 🏷️ Markup — Inline [red]...[/] style tags with auto-closing, background colors, hierarchical nesting, and raw fallback on errors
  • 😀 Emoji:smiley: shortcodes, typed names (EmojiName/EmojiValue), and public group helpers (EmojiTravelAndPlaces, EmojiSymbols, etc.)
  • 🖋️ Styling — Foreground/background colors, inversion, and overflow strategies (crop / ellipsis)
  • 🧱 Widgets — FIGlet banners and dash separators
  • ⌨️ Input — Standard reads plus an Emacs-style line editor (sync & async)
  • 🖥️ Screen control — Cursor movement, alternate/secondary buffer, clear, resize events
  • 🧭 Capabilities — Automatic detection of ANSI, Unicode, color depth, TTY and CI environments
  • 🔤 ANSI — Low-level IAnsiCommands emitter for direct escape-sequence control
  • 🪟 Legacy Windows — Automatic ANSI support on pre-Windows 10 via bundled ANSICON
  • Accessibility — WCAG luminance/contrast helpers to keep text readable

📦 Installation

dotnet add package ConsolePlus.net

Or via the Package Manager Console:

Install-Package ConsolePlus.net

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

🚀 Quick Start

using ConsolePlusLibrary;

// Clear and reset colors
ConsolePlus.Clear();

// Markup: foreground, background ("on"/":") and nesting
ConsolePlus.WriteLine("[Yellow]Hello[/], [Red on White]ConsolePlus[/]!");

// A FIGlet banner
ConsolePlus.Banner("ConsolePlus", Color.Teal, DashOptions.SingleBorderUpDown);

// Styled output with a Style object
ConsolePlus.WriteLine("Styled text", new Style(Color.White, Color.Navy));

// Emoji (3 equivalent approaches)
ConsolePlus.WriteLine(":rocket: Ready to launch!");                              // 1) Shortcode
ConsolePlus.WriteLine($"{EmojiTravelAndPlaces.Rocket} Ready to launch!");       // 2) Group helper class
ConsolePlus.WriteLine($"{(EmojiValue)EmojiName.Rocket} Ready to launch!");      // 3) EmojiName + EmojiValue

// Read a line using the Emacs-style editor
var name = ConsolePlus.ReadLineEmacs();
ConsolePlus.WriteLine($"Welcome, [Aqua]{name}[/]!");

📚 Documentation

Complete documentation is available on GitHub:

👉 Full Documentation

🧩 ConsolePlus + PromptPlus

ConsolePlus focuses on console fundamentals — styled output, colors, capabilities and screen control.

When you need intelligent, professional interactive controls on top of that foundation (select lists, multi-select, inputs with validation, masked secrets, confirmations, calendars, progress bars, input history, and more), reach for PromptPlus.

using PromptPlusLibrary;

// PromptPlus surfaces ConsolePlus through PromptPlus.Console / PromptPlus.Widgets
PromptPlus.Console.WriteLine("[Green]Powered by ConsolePlus[/]");
PromptPlus.Widgets.Banner("PromptPlus", Color.Bisque);

💡 Examples

Markup and Colors

// Simple markup
ConsolePlus.WriteLine("[Red]Error:[/] File not found");

// Background colors
ConsolePlus.WriteLine("[White on Red] CRITICAL [/]");

// Nested styles
ConsolePlus.WriteLine("[Yellow]Warning: [Red]Critical[/] issue detected[/]");

// Emoji
ConsolePlus.WriteLine(":warning: System temperature high :fire:");
ConsolePlus.WriteLine($"{EmojiSymbols.Warning} System temperature high {EmojiTravelAndPlaces.Fire}");
ConsolePlus.WriteLine($"{(EmojiValue)EmojiName.Warning} System temperature high {(EmojiValue)EmojiName.Fire}");

Widgets

// FIGlet banner with border
ConsolePlus.Banner("My App", Color.Cyan, DashOptions.DoubleBorderUpDown);

// Separator with title
ConsolePlus.Dash("Configuration", Color.Yellow, DashOptions.SingleBorder);

Input

// Standard readline
var input = ConsolePlus.ReadLine();

// Emacs-style editor with features
var email = ConsolePlus.ReadLineEmacs(
	caseOptions: CaseOptions.Lowercase,
	acceptInput: c => char.IsLetterOrDigit(c) || c == '@' || c == '.'
);

// Async with cancellation
var result = await ConsolePlus.ReadLineEmacsAsync(cancellationToken: token);

📄 License

ConsolePlus is licensed under the MIT License.

Portions are inspired by and adapted from Spectre.Console (© 2020 Patrik Svensson, Phil Scott, Nils Andresen), also under the MIT license.

Emoji-datasource is licensed under the UNICODE LICENSE V3.


Project: https://github.com/FRACerqueira/ConsolePlus
Maintained by: Fernando Cerqueira
Copyright: © 2026 Fernando Cerqueira

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.
  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on ConsolePlus.net:

Package Downloads
PromptPlus

A .NET library that makes it easier to create beautiful, cross platform, console applications with powerful controls and commands to create professional console applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-rc2 108 8/10/2026