EmojiWidthProbe class final
Best-effort probe to align emoji cell width with the active terminal.
Some terminals render emoji as 1 cell wide, others as 2. The UV renderer needs to match the terminal's behavior to avoid overwriting graphemes.
- Implemented types
Constructors
- EmojiWidthProbe({Duration timeout = const Duration(milliseconds: 180), String probeEmoji = '🍕'})
- Creates an emoji width probe.
Properties
- gateNonCriticalMessages → bool
-
Whether non-critical messages should be gated during probing.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- isActive → bool
-
Whether the probe is currently running.
no setteroverride
- probeEmoji → String
-
The emoji character used for width probing.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- timeout → Duration
-
Maximum time to wait for terminal response.
final
Methods
-
abort(
) → void -
Aborts the probe early.
override
-
handleMsg(
Msg msg, StartupProbeContext ctx) → bool -
Handles terminal response messages during probing.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
start(
StartupProbeContext ctx) → Future< void> -
Starts the width probe by querying the terminal.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited