Minga.Buffer.RenderSnapshot (Minga v0.1.0)

Copy Markdown View Source

A bounded, version-qualified buffer line view for rendering.

Unlike the historical render snapshot this value never contains a Minga.Buffer.Document. lines contains only the range requested from the buffer process. Renderer callers first atomically consume the ChangeLog and then fetch a range at that exact version; a concurrent edit returns :stale.

Summary

Types

t()

@type t() :: %Minga.Buffer.RenderSnapshot{
  buffer_type: Minga.Buffer.State.buffer_type(),
  change_sequence: non_neg_integer(),
  cursor: Minga.Buffer.Document.position(),
  decorations: Minga.Core.Decorations.t(),
  dirty: boolean(),
  file_path: String.t() | nil,
  filetype: atom(),
  first_line: non_neg_integer(),
  first_line_byte_offset: non_neg_integer(),
  line_count: pos_integer(),
  lines: [String.t()],
  name: String.t() | nil,
  options: %{required(atom()) => term()},
  read_only: boolean(),
  version: non_neg_integer()
}