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

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.

# `line_range`

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

# `t`

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

# `new`

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

---

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