2023-07-09 03:44:27 +02:00
|
|
|
use crate::proto::{Position, Cursor};
|
2023-07-04 22:54:25 +02:00
|
|
|
|
2023-07-05 00:09:09 +02:00
|
|
|
impl From::<Position> for (i32, i32) {
|
|
|
|
fn from(pos: Position) -> (i32, i32) {
|
|
|
|
(pos.row, pos.col)
|
2023-07-04 22:54:25 +02:00
|
|
|
}
|
|
|
|
}
|
2023-04-17 14:57:06 +02:00
|
|
|
|
2023-07-05 00:09:09 +02:00
|
|
|
impl From::<(i32, i32)> for Position {
|
|
|
|
fn from((row, col): (i32, i32)) -> Self {
|
|
|
|
Position { row, col }
|
2023-04-17 14:57:06 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-07-05 00:09:09 +02:00
|
|
|
impl Cursor {
|
|
|
|
pub fn start(&self) -> Position {
|
|
|
|
self.start.clone().unwrap_or((0, 0).into())
|
2023-04-17 14:57:06 +02:00
|
|
|
}
|
|
|
|
|
2023-07-05 00:09:09 +02:00
|
|
|
pub fn end(&self) -> Position {
|
|
|
|
self.end.clone().unwrap_or((0, 0).into())
|
2023-07-04 22:54:25 +02:00
|
|
|
}
|
2023-04-17 14:57:06 +02:00
|
|
|
}
|