Shared per-buffer store for inline overlays (ask and edit).
Both variants key their ephemeral overlays by buffer_pid and track an
optional session_pid. The lookup/insert/dismiss/session plumbing only
touches those two fields, so it lives here once and is reused by both
MingaEditor.State.InlineAsk and MingaEditor.State.InlineEdit rather
than being copied per variant.
An overlay is any struct carrying :buffer_pid and :session_pid. The
variant struct modules own their own fields and transitions; this module
owns only the store mechanics.
Summary
Functions
Returns the active overlay for a buffer, or nil.
Dismisses the overlay for a buffer.
Opens or replaces an overlay for its buffer.
Returns true when the given session pid belongs to an overlay in this store.
Types
Functions
Returns the active overlay for a buffer, or nil.
Dismisses the overlay for a buffer.
Returns {store, session_pid} where session_pid is the dismissed
overlay's session pid (or nil when there was no overlay), so callers
can stop the session.
Opens or replaces an overlay for its buffer.
Returns true when the given session pid belongs to an overlay in this store.