FSM state for Search mode (/ and ?).
Tracks the accumulated search input, direction, and the cursor position before the search started (for restore on Escape).
Summary
Types
@type direction() :: :forward | :backward
Search direction.
@type t() :: %Minga.Mode.SearchState{ count: non_neg_integer() | nil, direction: direction(), input: String.t(), original_cursor: {non_neg_integer(), non_neg_integer()} }