Skip to main content

resolve_layout

Function resolve_layout 

Source
pub fn resolve_layout<'a>(
    registry: &'a ModelineRegistry,
    config: &ConfigRegistry,
) -> ModelineLayout<'a>
Expand description

Resolve the full per-zone modeline layout for a pane from the descriptor registry + the ui.modeline.{left,center,right,separator} typed options (ML.5; design §11).

Per zone:

  • Auto (the default) → descriptor-driven: zone_ordered(zone), minus any element id claimed by an explicit (non-Auto) other zone, so a moved element never double-renders. With no config at all every zone is Auto ⇒ exactly the pre-ML.5 descriptor layout.
  • explicit Ids → exactly those registered ids, in listed order; unknown / unregistered ids are skipped + logged (debug!, never panic). An empty list is an explicitly-blank zone.

The renderer still resolves each descriptor’s content itself (built-ins host-side via resolve_builtin_content, pushed via the snapshot) and applies the separator; this fn owns only the membership + order decision so both peers share it.