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

FSM state for Visual mode.

Carries the selection type (characterwise or linewise), the fixed anchor
position of the selection, and the standard count/leader fields.

# `selection_type`

```elixir
@type selection_type() :: :char | :line
```

Selection type: characterwise or linewise.

# `t`

```elixir
@type t() :: %Minga.Mode.VisualState{
  count: non_neg_integer() | nil,
  filetype: atom(),
  leader_keys: [String.t()],
  leader_node: Minga.Keymap.Bindings.node_t() | nil,
  mode_trie: Minga.Keymap.Bindings.node_t() | nil,
  text_object_modifier: text_object_modifier(),
  visual_anchor: {non_neg_integer(), non_neg_integer()},
  visual_type: selection_type()
}
```

# `text_object_modifier`

```elixir
@type text_object_modifier() :: :inner | :around | nil
```

Text object modifier (inner vs around) for visual text object selection.

---

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