CommandHistoryBuffer class
An ordered, bounded set of history entries with the shell's add rules.
Entries are newest-last and capped at maxEntries (oldest dropped first). add skips blank lines and consecutive duplicates. The buffer holds no persistence concern — embedders load entries into it and persist entries after a mutation reports a change.
Constructors
-
CommandHistoryBuffer({List<
String> ? entries, int maxEntries = 1000}) -
Creates a buffer seeded with
entries(capped tomaxEntries).
Properties
-
entries
→ List<
String> -
The entries, oldest first. The returned list is an unmodifiable copy.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isEmpty → bool
-
Whether the buffer holds no entries.
no setter
- length → int
-
The number of entries currently held.
no setter
- maxEntries → int
-
Upper bound on retained entries; oldest are dropped first.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
add(
String entry) → bool -
Records
entryunless it is blank or a consecutive duplicate of the most recent entry, capping to maxEntries. Returns whether the buffer changed, so callers can skip persisting on a no-op. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
prepend(
List< String> items) → void -
Inserts
itemsbefore the current entries (a migration splice), collapsing a duplicate that straddles the boundary (old tail == new head), then caps. A no-op whenitemsis empty. -
replaceAll(
Iterable< String> entries) → void -
Replaces all entries with
entries(used when loading from storage), capping to maxEntries. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
sanitizeKey(
String key) → String -
Maps an arbitrary key (e.g.
<user>@<node>) to a safe, stable identifier component — usable as a filename (CLI) or a storage-key suffix (web).