TextPromptSync class
TextPromptSync – Sync text input prompt with validation.
Features:
- Static cursor (always visible, no blink)
- TextInputBuffer management
- Validation with error messages
- Optional password masking
Usage:
final result = TextPromptSync(
title: 'Enter name',
placeholder: 'Your name...',
validator: (text) => text.length < 2 ? 'Too short' : null,
).run();
Constructors
- TextPromptSync({required String title, PromptTheme theme = PromptTheme.dark, String? placeholder, String? validator(String text)?, bool required = false, bool masked = false, String maskChar = '•', bool allowReveal = true})
-
const
Properties
- allowReveal → bool
-
Whether to allow Ctrl+R to toggle visibility in password mode.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- maskChar → String
-
Mask character for password mode.
final
- masked → bool
-
Whether to mask input (password mode).
final
- placeholder → String?
-
Placeholder text shown when empty.
final
- required → bool
-
Whether input is required (non-empty).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- theme → PromptTheme
-
Theme for styling.
final
- title → String
-
Title displayed in the frame header.
final
- validator → String? Function(String text)?
-
Validator function. Return
nullif valid, or an error message if not. Returning''is also accepted as success for backwards compatibility.final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
run(
) → String? - Runs the prompt and returns the result.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited