← Back to Home • Next: MultiTasks Control →
The Task control paints its output in named regions. Each region is a TaskStyles value you can
recolor per control instance.
ℹ️ Styling is per control — there is no global “style all tasks” API. Set styles on each control (or through a small helper you reuse). The only style-related global setting is
PromptPlus.Config.ContrastRatio.
TaskStyles regions| Region | What it paints |
|---|---|
Prompt |
The prompt text |
Answer |
The answer / result line |
Description |
The description line (including ChangeDescription output) |
Tooltips |
The keyboard-hint line |
Spinner |
The animated spinner |
ElapsedTime |
The elapsed-time display |
Error |
The error line (shown when the task throws) |
Use the fluent Styles method. A Style is a foreground color, a background
color, and an Overflow strategy — there is no bold/italic/underline. A bare Color is accepted
as shorthand for a foreground-only style.
using ConsolePlusLibrary;
using PromptPlusLibrary;
PromptPlus.Controls
.Task("Please wait")
.ShowElapsedTime()
.Spinner(SpinnersType.Default)
.Styles(TaskStyles.Prompt, new Style(Color.Yellow, Color.Black))
.Styles(TaskStyles.ElapsedTime, new Style(Color.Cyan, Color.Black))
.Styles(TaskStyles.Spinner, new Style(Color.Green, Color.Black))
.ActionAsync(async t => await Task.Delay(2000, t))
.Run();
To reuse a theme across tasks, wrap the styling in a helper you call for each control — the library does not broadcast styles for you. See Global Styles for the pattern.
PromptPlus nudges foreground colors that fall below the configured contrast ratio so text stays readable on any terminal theme. Tune or disable with:
PromptPlus.Config.ContrastRatio = 0; // disable
PromptPlus.Config.ContrastRatio = 4.5; // WCAG AA target
Style type, per-control styling, contrastStyle API and Overflow