Parsed line-based Git merge conflict region.
Line numbers are zero-indexed and inclusive. Side ranges point at marker-free content lines. current_lines, base_lines, and incoming_lines are the marker-free text lines used by resolution commands.
Summary
Types
Inclusive marker-free line range. Empty sides use the sentinel {start_line, end_line} with end_line < start_line.
Functions
Returns true when a marker-free side range is empty.
Types
@type line_range() :: {start_line :: non_neg_integer(), end_line :: integer()}
Inclusive marker-free line range. Empty sides use the sentinel {start_line, end_line} with end_line < start_line.
@type t() :: %Minga.Git.MergeConflict.Region{ base_label: String.t() | nil, base_lines: [String.t()] | nil, base_marker_line: non_neg_integer() | nil, base_range: line_range() | nil, current_label: String.t(), current_lines: [String.t()], current_range: line_range(), end_line: non_neg_integer(), incoming_label: String.t(), incoming_lines: [String.t()], incoming_range: line_range(), separator_line: non_neg_integer(), start_line: non_neg_integer() }
Functions
@spec empty_range?(line_range()) :: boolean()
Returns true when a marker-free side range is empty.