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