use NonZeroU64;
use crateEditorSnapshot;
/// Read-only view of the input surface (editor or search box) for the
/// autocomplete controller. The controller derives byte offsets and
/// the joined buffer text from the snapshot — neither needs to be
/// pre-computed by the host.
///
/// The trait is intentionally read-only: the controller computes what
/// to insert and returns an `AcceptAction` (see `controller`), and the
/// host applies it. That split keeps borrow-checker contention out of
/// the way when the controller is held as a field of the host itself.