RichTextController class

A custom TextEditingController that supports rich text styling based on regex patterns and word matching. It allows you to highlight specific text patterns and apply custom styles to matched text. Additionally, it supports dynamic updates, IME composition, and tap callbacks for matched text.

Inheritance

Constructors

RichTextController({String? text, required List<MatchTargetItem> targetMatches, required dynamic onMatch(List<String> match), dynamic onMatchIndex(List<Map<String, List<int>>>)?, bool regExpDotAll = false, bool regExpMultiLine = false, bool regExpUnicode = false})
Creates a new RichTextController.

Properties

hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
onMatch → dynamic Function(List<String> match)
final
onMatchIndex → dynamic Function(List<Map<String, List<int>>>)?
final
regExpDotAll bool
Controls the dotAll property of the full combined RegExp of the match targets in the controller.
getter/setter pair
regExpMultiLine bool
Controls the multiLine property of the full combined RegExp of the match targets in the controller.
getter/setter pair
regExpUnicode bool
Controls the unicode property of the full combined RegExp of the match targets in the controller.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selection TextSelection
The currently selected range within text.
getter/setter pairinherited
targetMatches List<MatchTargetItem>
final
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. After this is called, the object is not in a usable state and should be discarded (calls to addListener will throw after the object is disposed).
override
isBack(String current, String last) bool
Checks if the current text change is a backspace operation.
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.
override
updateRegExpProperties({bool? dotAll, bool? multiLine, bool? unicode}) → void
Updates the RegExp properties dynamically.
updateTargetMatches(List<MatchTargetItem> newTargetMatches) → void
Updates the target matches dynamically.

Operators

operator ==(Object other) bool
The equality operator.
inherited