Expand description
Generic sticky headerline — the one mechanism for a buffer to surface a status row pinned above line 0.
§Roles
-
Headerline— the trait. Any type that knows how to produce a row of cells (and a version counter) implements it. Tutor, multibuffer search, LSP status, VCS branch, diagnostics summary — all use this same surface. -
SimpleHeaderline/SimpleHeaderlineHandle— the ready-made implementation for modes that want owned dedicated state. The handle is cheap-clone, updates via a closure, and bumps the version atomically. Modes that already carry their state elsewhere (e.g. an LSP session struct) implementHeaderlinedirectly. -
HeaderlineProvider— wraps anyHeaderlineimpl and registers it as aVirtualRowProvider. Always emits oneVirtualRowKind::Stickyrow anchored above line 0; returns an empty vec when the impl returnsNone(hide the row).
§Design anchor
docs/dev/architecture/headerline.md
Structs§
- Headerline
Provider VirtualRowProviderthat emits one sticky row above line 0 from anyHeaderlineimpl.- Headerline
Row - The row produced by a
Headerlineimpl when it wants to be visible. - Simple
Headerline - Ready-made
Headerlineimpl for modes with dedicated header state. - Simple
Headerline Handle - Cheap-clone handle to a
SimpleHeaderline<S>.
Traits§
- Headerline
- Anything that can supply a sticky headerline row.