Minga.Buffer.RenderSnapshot (Minga v0.1.0)

Copy Markdown View Source

All data needed to render a single frame for one buffer.

Constructed atomically inside BufferServer.handle_call/3 so the caller gets a consistent snapshot of cursor, lines, metadata, and version in a single GenServer round-trip. Previously a bare map; promoted to a struct for compile-time field enforcement and better type-system support.

Summary

Types

t()

@type t() :: %Minga.Buffer.RenderSnapshot{
  buffer_type: Minga.Buffer.State.buffer_type(),
  cursor: Minga.Buffer.Document.position(),
  dirty: boolean(),
  file_path: String.t() | nil,
  filetype: atom(),
  first_line_byte_offset: non_neg_integer(),
  line_count: pos_integer(),
  lines: [String.t()],
  name: String.t() | nil,
  read_only: boolean(),
  version: non_neg_integer()
}