Lightweight line coordinates and labels for one complete merge conflict.
Unlike Minga.Git.MergeConflict.Region, this value does not copy either side's text. It is safe to retain and update on the buffer edit path even when one conflict contains many lines.
Summary
Types
Inclusive marker-free line range. Empty sides use a range whose end is before its start.
Functions
Builds an entry from its marker coordinates and labels.
Types
@type line_range() :: {start_line :: non_neg_integer(), end_line :: integer()}
Inclusive marker-free line range. Empty sides use a range whose end is before its start.
@type t() :: %Minga.Git.MergeConflict.Entry{ base_label: String.t() | nil, base_marker_line: non_neg_integer() | nil, base_range: line_range() | nil, current_label: String.t(), current_range: line_range(), end_line: non_neg_integer(), incoming_label: String.t(), incoming_range: line_range(), separator_line: non_neg_integer(), start_line: non_neg_integer() }
Functions
@spec new( non_neg_integer(), non_neg_integer() | nil, non_neg_integer(), non_neg_integer(), String.t(), String.t() | nil, String.t() ) :: t()
Builds an entry from its marker coordinates and labels.