lib-nested/nested/src/list/cursor.rs

35 lines
598 B
Rust
Raw Normal View History

2021-08-23 05:00:57 +02:00
#[derive(Clone, Copy, Eq, PartialEq)]
pub enum ListCursorMode {
Insert,
2022-06-19 23:13:21 +02:00
Select
2021-08-23 05:00:57 +02:00
}
#[derive(Clone, Copy, Eq, PartialEq)]
pub struct ListCursor {
pub mode: ListCursorMode,
2022-06-19 23:13:21 +02:00
pub idx: Option<isize>,
2021-08-23 05:00:57 +02:00
}
2022-06-19 23:13:21 +02:00
impl ListCursor {
pub fn home() -> Self {
2021-08-23 05:00:57 +02:00
ListCursor {
2022-06-19 23:13:21 +02:00
mode: ListCursorMode::Insert,
idx: Some(0)
2021-08-23 05:00:57 +02:00
}
}
2022-06-19 23:13:21 +02:00
pub fn none() -> Self {
ListCursor {
mode: ListCursorMode::Insert,
idx: None,
}
}
}
2021-08-23 05:00:57 +02:00
2022-06-19 23:13:21 +02:00
impl Default for ListCursor {
fn default() -> Self {
ListCursor::none()
}
2021-08-23 05:00:57 +02:00
}
2022-06-19 23:13:21 +02:00