TermColor.Terminal.Buffer #
Pure cell storage and cell-level diffing. The line renderer remains the default Screen backend;
this backend exists for applications that need positioned, partially changing content.
Equations
- One or more equations did not get rendered due to their size.
- TermColor.Terminal.instBEqCell.beq x✝¹ x✝ = false
Instances For
@[instance_reducible]
Equations
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
Equations
Instances For
Equations
Instances For
@[instance_reducible]
Equations
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- TermColor.Terminal.Buffer.empty width height = { width := width, height := height, cells := Array.replicate (width * height) TermColor.Terminal.blankCell }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Write styled text at a zero-based cell coordinate, clipping at the surface boundary.
Equations
- buffer.writeText column row text = (TermColor.Terminal.Buffer.writeSegments✝ buffer column row text.segments).fst
Instances For
Render a wrapped text value into a fixed-size surface.
Equations
- TermColor.Terminal.Buffer.fromText size text = (TermColor.Terminal.Buffer.empty size.columns size.rows).writeText 0 0 (TermColor.Layout.wrapLines (max 1 size.columns) text)
Instances For
Equations
- buffer.rowText row = TermColor.Text.concat (List.map (fun (column : Nat) => TermColor.Terminal.Buffer.cellText (buffer.get column row)) (List.range buffer.width))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- buffer.toText = TermColor.Layout.joinLines (List.map (fun (x : Nat) => buffer.rowText x) (List.range buffer.height))
Instances For
@[instance_reducible]
Equations
- TermColor.Terminal.instBEqBufferScreen.beq { previous := a } { previous := b } = (a == b)
- TermColor.Terminal.instBEqBufferScreen.beq x✝¹ x✝ = false
Instances For
@[instance_reducible]
Equations
Instances For
@[instance_reducible]
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
Instances For
Pure cell-level output and next state. Initial or resized surfaces redraw fully.
Equations
- One or more equations did not get rendered due to their size.