Minga.Git.MergeConflict.Region (Minga v0.1.0)

Copy Markdown View Source

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.

t()

Functions

Returns true when a marker-free side range is empty.

Types

line_range()

@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.

t()

@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

empty_range?(arg)

@spec empty_range?(line_range()) :: boolean()

Returns true when a marker-free side range is empty.