# `Minga.Git.MergeConflict.Region`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga/git/merge_conflict/region.ex#L1)

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.

# `line_range`

```elixir
@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`

```elixir
@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()
}
```

# `empty_range?`

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

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

---

*Consult [api-reference.md](api-reference.md) for complete listing*
