← Back to Home • Next: Spinners →
PromptPlus draws state and structure with a small set of glyphs. Each glyph has two forms — a Unicode form and an ASCII fallback — and PromptPlus picks the right one automatically based on what your terminal can render.
The catalog below lists the real defaults from the library’s internal symbol table. The glyphs themselves are internal (not individually configurable). The two characters you can change are the Secret mask and the MaskEdit placeholder — see Configurable characters.
For every glyph, PromptPlus stores a pair (ascii, unicode). At render time it returns the Unicode
form only when both conditions hold:
Console.SupportsUnicode), andOtherwise it returns the ASCII form. Detection is automatic and transparent — you do not configure anything.
| Meaning | ASCII | Unicode | Where shown |
|---|---|---|---|
| Focus cursor | > |
► |
Focused item — used far more broadly than just Select/MultiSelect/TreeSelect: also TableSelect, TableMultiSelect, MultiFile, ChartBar, Calendar, Input (suggestions), MultiTasks, and other list-like controls |
| Checkbox — checked | [x] |
[■] |
Selected item in any multi-select-style control (MultiSelect, TableMultiSelect, TreeMultiSelect, MultiFile) |
| Checkbox — unchecked | [ ] |
[ ] |
Unselected item, same set of controls |
| Checkbox — partial (tri-state) | [?] |
[▪] |
Indeterminate node in TreeMultiSelect |
| Checkbox — busy/loading | [*] |
[◔] |
Item whose children are loading |
There is no
●/○/›/✓used for list selection — those glyphs belong to task status (below) or are not used at all.
| Meaning | ASCII | Unicode |
|—|—|—|
| Expanded node | [-] | [▼] |
| Collapsed node | [+] | [►] |
| Tree branch (crossing) | ` |- | ├─ |
| Tree branch (corner) | |_ | └─ |
| Tree vertical line | | ` | ` │ ` |
| Tree indent (no line) | ` ` | ` ` |
Blank 3-column indent, used where no vertical line continues at that depth.
By default, the progress bar, slider, and chart bar render their filled portion as a colored
space (the color carries the meaning). The glyphs below are used only when you pick an alternate
bar style (e.g. SliderBarType.Square, ProgressBarType.Square) — and not every style exists on
every control:
| Bar style | ASCII | Unicode | ProgressBar | Slider | ChartBar |
|---|---|---|---|---|---|
| Fill (colored space, default) | ` ` | ` ` | ✅ | ✅ | ✅ |
| Light | - |
─ |
✅ | ✅ | ✅ |
| Square (solid block) | # |
█ |
✅ | ✅ | ✅ |
| Double-light | = |
═ |
✅ | ✅ | ❌ |
| Dot | . |
∙ |
✅ | ✅ | ❌ |
| Bar (half bar) | \| |
▌ |
✅ | ❌ | ❌ |
ChartBarType, SliderBarType, and ProgressBarType are three separate enums — the styles they
have in common (Fill/Light/Square) render with the identical glyphs shown above, but
ChartBarType doesn’t have DoubleLight/Dot members at all, and SliderBarType doesn’t have
Bar. Only ProgressBarType has all of them.
The chart’s item-label swatch is a separate glyph from any of these bar styles: # (ASCII) /
■ (Unicode).
There is no
░“empty” glyph — empty bar space is just an un-colored space.
| Meaning | ASCII | Unicode |
|---|---|---|
| Today / current date (wraps the day) | <dd> |
◄dd► |
| Highlighted date | ! |
* |
| Date-with-note marker | * |
∙ |
| Highlighted note marker | # |
♦ |
Used by the Task and MultiTasks controls.
| Status | ASCII | Unicode |
|---|---|---|
| Waiting | (space) | ○ |
| Running | > |
◐ |
| Success | v |
● |
| Failed | x |
✗ |
| Done | V |
√ |
| Error | ! |
‼ |
| Canceled | x |
× |
Tables and framed output use box-drawing glyphs that fall back to + - = | . For example the single
border corner is +/┌…┐ and the double border is =/╔…╗. These are chosen automatically per the
fallback rule.
When a single-line value is wider than the terminal, PromptPlus appends an overflow indicator:
| ASCII | Unicode |
|---|---|
_ |
… |
The truncation is display-only — result.Content always holds the full, untruncated value.
Two characters are exposed on PromptPlus.Config:
| Character | Default | Config property | Where shown |
|---|---|---|---|
| Secret mask | # |
SecretChar |
Each character typed into a Secret control |
| MaskEdit placeholder | _ |
PromptMaskEdit |
Empty positions in MaskEdit controls |
PromptPlus.Config.SecretChar = '*';
PromptPlus.Config.PromptMaskEdit = '.';
A symbol’s color comes from the style of the region it appears in (focus, selected, disabled, and so on). You change the color by styling that region — the glyph character itself does not change.
SecretChar, PromptMaskEdit