use crate::widgets::markdown_widget::state::toc_state::enums::TocEntry;
use crate::widgets::markdown_widget::state::toc_state::TocState;
impl TocState {
pub fn entries(&self) -> &[TocEntry] {
&self.entries
}
pub fn set_entries(&mut self, entries: Vec<TocEntry>) {
self.entries = entries;
if self.scroll_offset >= self.entries.len() {
self.scroll_offset = 0;
}
}
pub fn clear_entries(&mut self) {
self.entries.clear();
self.scroll_offset = 0;
self.hovered_entry = None;
}
pub fn entry_count(&self) -> usize {
self.entries.len()
}
pub fn get_entry(&self, index: usize) -> Option<&TocEntry> {
self.entries.get(index)
}
pub fn has_entries(&self) -> bool {
!self.entries.is_empty()
}
}