HistoryCursor class
A reusable Up/Down navigation cursor over a CommandHistoryBuffer.
Holds the browsing state the CLI's LineEditor and the web client's shell
host both need: the current index into the entries (== length while editing
a fresh line), the in-progress line stashed aside while browsing, and the
prefix that restricts which entries Up/Down visit.
The cursor never touches the caller's line buffer; up/down return the
text to display (or null to leave the current line unchanged), keeping it
agnostic to how the host stores and renders the line.
Constructors
- HistoryCursor(CommandHistoryBuffer _history)
- Creates a cursor positioned past the newest entry (fresh-line state).
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
down(
) → String? -
Moves to the next (newer) matching entry, returning the line to show. Past
the most recent match it restores the stashed in-progress line. Returns
nullwhen already on the fresh line. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
reset(
) → void - Resets browsing so the next up recomputes the prefix from the current input. Call after any edit to the line and after recording a command.
-
toString(
) → String -
A string representation of this object.
inherited
-
up(
{required String line, required String prefix}) → String? -
Moves to the previous (older) entry matching the active prefix, returning
the line to show or
nullto leave the current line unchanged.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited