HashTagTextEditingController class
A modern TextEditingController that decorates hashtags, mentions, and cashtags in real-time.
Can be used directly in any standard TextField, TextFormField, or CupertinoTextField without requiring custom widget wrappers.
Example:
TextFormField(
controller: HashTagTextEditingController(
decoratedStyle: const TextStyle(color: Colors.blue, fontWeight: FontWeight.bold),
decorateAtSign: true,
decorateCashtag: true,
),
)
- Inheritance
-
- Object
- ChangeNotifier
- ValueNotifier<
TextEditingValue> - TextEditingController
- HashTagTextEditingController
Constructors
-
HashTagTextEditingController({String? text, TextStyle? decoratedStyle, TextStyle? basicStyle, bool decorateAtSign = false, bool decorateCashtag = false, List<
String> ? customPrefixes, ValueChanged<String> ? onTagChanged, VoidCallback? onTagFinished}) - Creates a HashTagTextEditingController with customizable tag styling and callbacks.
Properties
- basicStyle → TextStyle?
-
The TextStyle applied to normal, untagged text.
final
-
customPrefixes
→ List<
String> ? -
Optional list of custom prefix symbols to decorate (e.g.
['#', '@', '$']).final - decorateAtSign → bool
-
Whether to decorate words starting with
@(mentions).final - decorateCashtag → bool
-
Whether to decorate words starting with
$(cashtags for crypto/stocks).final - decoratedStyle → TextStyle?
-
The TextStyle applied to decorated hashtags and mentions.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
-
onTagChanged
→ ValueChanged<
String> ? -
Callback called whenever the user is actively typing inside a tag.
final
- onTagFinished → VoidCallback?
-
Callback called when the user finishes typing a tag (e.g. whitespace entered).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selection ↔ TextSelection
-
The currently selected range within text.
getter/setter pairinherited
- text ↔ String
-
The current string the user is editing.
getter/setter pairinherited
- value ↔ TextEditingValue
-
The current value stored in this notifier.
getter/setter pairinherited
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
buildTextSpan(
{required BuildContext context, TextStyle? style, required bool withComposing}) → TextSpan -
Builds TextSpan from current editing value.
override
-
clear(
) → void -
Set the value to empty.
inherited
-
clearComposing(
) → void -
Set the composing region to an empty range.
inherited
-
dispose(
) → void -
Discards any resources used by the object.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited