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
@type row_type() ::
:normal | :fold_start | :virtual_line | :block | :wrap_continuation
@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
@spec compute_hash(String.t(), [MingaEditor.SemanticWindow.Span.t()]) :: non_neg_integer()
Computes a content hash for cache invalidation.