Mindfire.Console.MultilineEditor
1.0.0
dotnet add package Mindfire.Console.MultilineEditor --version 1.0.0
NuGet\Install-Package Mindfire.Console.MultilineEditor -Version 1.0.0
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="Mindfire.Console.MultilineEditor" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Mindfire.Console.MultilineEditor" Version="1.0.0" />
<PackageReference Include="Mindfire.Console.MultilineEditor" />
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 Mindfire.Console.MultilineEditor --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Mindfire.Console.MultilineEditor, 1.0.0"
#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 Mindfire.Console.MultilineEditor@1.0.0
#: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=Mindfire.Console.MultilineEditor&version=1.0.0
#tool nuget:?package=Mindfire.Console.MultilineEditor&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Mindfire.Console.MultilineEditor
Multiline text editor prompt for Spectre.Console with in-console editing and optional external editor handoff.
Preview
Example console output while editing git commit notes (caret shown as | on the active line):
Enter time entry notes:
╭─ Edit text ────────────────────────────────────────────────╮
│ Fix login timeout handling| │
│ Add retry logic for OAuth │
│ Update unit tests │
╰────────────────────────────────────────────────────────────╯
Line 1, Col 28 | Enter: new line | Ctrl+Enter: save | Ctrl+N: external editor | `: back | Esc: back
The prompt renders a Spectre panel with line-aware editing, a visible caret on the active line, and a hint row for key bindings. Context above the prompt (project, task, hours, etc.) stays visible when ClearScreen is false.
Installation
<PackageReference Include="Mindfire.Console.MultilineEditor" Version="1.0.0" />
Or reference the project directly during development.
Usage
using Mindfire.Console.MultilineEditor;
var notes = MultilineEditorPrompt.Show(options: new MultilineEditorOptions
{
Title = "[bold cyan]Enter notes[/]",
DefaultText = "Line one\nLine two",
AllowEmpty = false,
CancelKeyChar = "`",
ExternalEditorPath = "notepad.exe"
});
if (notes == null)
Console.WriteLine("Cancelled");
else
Console.WriteLine(notes);
Key bindings
| Key | Action |
|---|---|
| Enter | Insert new line |
| Ctrl+Enter | Submit |
| Ctrl+N | Open external editor; reload text when editor closes |
| Arrow keys, Home, End | Move cursor |
| Backspace / Delete | Edit text |
| ` or Esc | Cancel (returns null) |
Options
| Option | Default | Description |
|---|---|---|
Title |
null | Optional Spectre markup title shown above the editor |
DefaultText |
"" |
Initial buffer content |
AllowEmpty |
false | Allow Ctrl+Enter on blank text |
CancelKeyChar |
` |
Additional cancel key; null for Escape only |
ExternalEditorPath |
notepad.exe |
Executable for Ctrl+N handoff |
ExternalEditorArguments |
null | Argument template; {path} replaced with temp file path |
ClearScreen |
false | Clear entire console before each redraw; false keeps content above the prompt |
| 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Spectre.Console (>= 0.49.1)
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 |
|---|---|---|
| 1.0.0 | 92 | 5/27/2026 |