use std::num::NonZeroU64;
use crate::components::autocomplete::AutocompleteHost;
pub(super) struct SearchBoxHostSnapshot {
pub(super) lines: Vec<String>,
pub(super) cursor: (usize, usize),
pub(super) caret_pos: Option<(u16, u16)>,
}
impl AutocompleteHost for SearchBoxHostSnapshot {
fn buffer_snapshot(&self) -> crate::components::text_editor::snapshot::EditorSnapshot<'_> {
let dummy = NonZeroU64::new(1).unwrap();
crate::components::text_editor::snapshot::EditorSnapshot::borrowed(
&self.lines,
self.cursor,
dummy,
)
}
fn cache_key(&self) -> Option<std::num::NonZeroU64> {
None
}
fn screen_anchor_for(&self, _byte_offset: usize) -> Option<(u16, u16)> {
Some(self.caret_pos.unwrap_or((0, 0)))
}
}