pub struct MarkerIndex {
pub markers: Vec<MarkerEntry>,
pub evicted_total: u64,
pub epoch: u32,
}Expand description
The answer to Term::marker_index — every live marker of the active
buffer, plus the basis that says how long the answer stays usable.
The consumer keeps this and rebases per frame:
current = line - (evicted_total_now - evicted_total), valid for exactly as long
as epoch is unchanged. When the epoch moves, the held lines are wrong in a way
no offset repairs and the consumer asks again.
It reports the active buffer because an absolute index means a different thing on
each screen — the same reason markers/markers_mut route by on_alt. An
alt-screen switch therefore bumps the epoch even though no line moved: what the
answer describes changed.
No #[non_exhaustive] (#844): nothing outside this crate has a reason to build one. No
public function accepts it — the engine hands it out — and there are zero out-of-crate literal
sites, so the attribute would bind nothing it does not already bind.
Fields§
§markers: Vec<MarkerEntry>§evicted_total: u64§epoch: u32