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

FSM state for Replace mode.

Carries a stack of original characters that were overwritten, used to
restore them when the user presses Backspace.

## Fields

* `original_chars` — stack (list) of characters saved before overwriting.
  The most-recently saved character is at the head of the list.
  When the stack is empty, Backspace is a no-op (Vim behaviour: cannot
  backspace past the column at which Replace mode was entered).

# `t`

```elixir
@type t() :: %Minga.Mode.ReplaceState{
  count: non_neg_integer() | nil,
  leader_keys: [String.t()],
  leader_node: Minga.Keymap.Bindings.node_t() | nil,
  original_chars: [String.t()]
}
```

---

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