MingaEditor.SemanticWindow.VisualRow (Minga v0.1.0)

Copy Markdown View Source

A single visual row in the semantic window.

Represents one display row as the GUI should render it. The BEAM has already resolved word wrap, folding, virtual text splicing, and conceal ranges. The text field contains the final composed UTF-8 string.

Row Types

  • :normal — a regular buffer line (or the visible portion after wrapping)
  • :fold_start — a fold summary line (text includes the fold indicator)
  • :virtual_line — an injected virtual line from decorations (no buffer content)
  • :block — a block decoration row rendered by a callback
  • :wrap_continuation — a continuation row from word wrapping

Summary

Functions

Computes a content hash for cache invalidation.

Types

row_type()

@type row_type() ::
  :normal | :fold_start | :virtual_line | :block | :wrap_continuation

t()

@type t() :: %MingaEditor.SemanticWindow.VisualRow{
  buf_line: non_neg_integer(),
  content_hash: non_neg_integer(),
  row_type: row_type(),
  spans: [MingaEditor.SemanticWindow.Span.t()],
  text: String.t()
}

Functions

compute_hash(text, spans)

Computes a content hash for cache invalidation.