Expand description
Split pane layout and buffer rendering.
This module is organized into two tiers:
- Self-contained leaves (
spans,style,char_style,base_tokens,transforms,view_data,folding,scrollbar,layout,gutter,post_pass) — none of these depend on any shared render-time carrier. - Orchestration (
orchestration::*) — the only files that shareSelectionContext/DecorationContext. Quarantined in a subdirectory so the coupling is visible fromlsalone.
The public API is re-exposed via the SplitRenderer façade at the
bottom of this file; it forwards to orchestration::*.
Structs§
- Editor
Render Config - Immutable editor render settings for one frame.
- Render
Style - “How to render” — the appearance/policy inputs that are identical for
every split in a frame: the theme, the ANSI backdrop, and the editor
render config. Built once at the top of the render pass and threaded by
reference through the whole painter chain (
render_content→render_buffer_in_split→ …), so each layer forwards oneRenderStyleinstead of re-listing ~16 style parameters. Distinct from per-split state and the draw target, which vary or are mutated. - Split
Renderer - Public façade for split-pane rendering.