# `Minga.Mode.SubstituteConfirmState`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga/mode/substitute_confirm_state.ex#L1)

FSM state for substitute confirm mode (`:%s/old/new/gc`).

Tracks the list of matches, the current match index, the pattern and
replacement strings, the original buffer content, and which matches
the user has accepted for replacement.

# `match_pos`

```elixir
@type match_pos() :: Minga.Editing.Search.Match.t()
```

A match position: `{line, col, length}`.

# `t`

```elixir
@type t() :: %Minga.Mode.SubstituteConfirmState{
  accepted: [non_neg_integer()],
  count: non_neg_integer() | nil,
  current: non_neg_integer(),
  matches: [match_pos()],
  original_content: String.t(),
  pattern: String.t(),
  replacement: String.t()
}
```

---

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