2024-03-09 18:45:32 +01:00
|
|
|
#[allow(non_snake_case)]
|
2024-03-09 19:27:29 +01:00
|
|
|
pub mod common {
|
|
|
|
tonic::include_proto!("common");
|
2024-03-09 18:45:32 +01:00
|
|
|
|
2024-03-09 19:27:29 +01:00
|
|
|
impl From<uuid::Uuid> for Identity {
|
|
|
|
fn from(id: uuid::Uuid) -> Self {
|
2024-08-21 20:16:14 +02:00
|
|
|
let (hi, lo) = id.as_u64_pair();
|
|
|
|
Identity { hi, lo }
|
2024-03-09 18:45:32 +01:00
|
|
|
}
|
|
|
|
}
|
2024-03-09 19:55:45 +01:00
|
|
|
|
|
|
|
impl From<&uuid::Uuid> for Identity {
|
|
|
|
fn from(id: &uuid::Uuid) -> Self {
|
2024-08-21 20:16:14 +02:00
|
|
|
let (hi, lo) = id.as_u64_pair();
|
|
|
|
Identity { hi, lo }
|
2024-03-09 19:55:45 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<Identity> for uuid::Uuid {
|
|
|
|
fn from(value: Identity) -> Self {
|
2024-08-21 20:16:14 +02:00
|
|
|
uuid::Uuid::from_u64_pair(value.hi, value.lo)
|
2024-03-09 19:55:45 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<&Identity> for uuid::Uuid {
|
|
|
|
fn from(value: &Identity) -> Self {
|
2024-08-21 20:16:14 +02:00
|
|
|
uuid::Uuid::from_u64_pair(value.hi, value.lo)
|
2024-03-09 19:55:45 +01:00
|
|
|
}
|
|
|
|
}
|
2024-08-21 21:38:36 +02:00
|
|
|
|
|
|
|
impl Identity {
|
|
|
|
pub fn uuid(&self) -> uuid::Uuid {
|
|
|
|
uuid::Uuid::from(self)
|
|
|
|
}
|
|
|
|
}
|
2024-03-09 19:27:29 +01:00
|
|
|
}
|
2024-03-09 18:45:32 +01:00
|
|
|
|
2024-03-09 19:27:29 +01:00
|
|
|
pub mod files {
|
|
|
|
tonic::include_proto!("files");
|
2024-03-09 18:45:32 +01:00
|
|
|
|
2024-03-09 19:27:29 +01:00
|
|
|
impl From<String> for BufferNode {
|
|
|
|
fn from(value: String) -> Self {
|
|
|
|
BufferNode { path: value }
|
2024-03-09 18:45:32 +01:00
|
|
|
}
|
2024-03-09 19:27:29 +01:00
|
|
|
}
|
2024-03-09 18:45:32 +01:00
|
|
|
|
2024-03-09 19:27:29 +01:00
|
|
|
impl From<&str> for BufferNode {
|
|
|
|
fn from(value: &str) -> Self {
|
|
|
|
BufferNode {
|
|
|
|
path: value.to_string(),
|
2024-03-09 18:45:32 +01:00
|
|
|
}
|
|
|
|
}
|
2024-03-09 19:27:29 +01:00
|
|
|
}
|
2024-03-09 18:45:32 +01:00
|
|
|
|
2024-03-09 19:27:29 +01:00
|
|
|
impl From<BufferNode> for String {
|
|
|
|
fn from(value: BufferNode) -> Self {
|
|
|
|
value.path
|
2024-03-09 18:45:32 +01:00
|
|
|
}
|
|
|
|
}
|
2024-03-09 19:27:29 +01:00
|
|
|
}
|
2024-03-09 18:45:32 +01:00
|
|
|
|
2024-03-09 19:27:29 +01:00
|
|
|
pub mod buffer {
|
|
|
|
tonic::include_proto!("buffer");
|
|
|
|
}
|
2024-03-09 19:49:11 +01:00
|
|
|
|
2024-03-09 19:27:29 +01:00
|
|
|
pub mod cursor {
|
|
|
|
tonic::include_proto!("cursor");
|
2024-03-09 19:49:11 +01:00
|
|
|
|
|
|
|
impl From<RowCol> for (i32, i32) {
|
|
|
|
fn from(pos: RowCol) -> (i32, i32) {
|
|
|
|
(pos.row, pos.col)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl From<(i32, i32)> for RowCol {
|
|
|
|
fn from((row, col): (i32, i32)) -> Self {
|
|
|
|
RowCol { row, col }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl PartialOrd for RowCol {
|
|
|
|
fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
|
|
|
|
match self.row.partial_cmp(&other.row) {
|
|
|
|
Some(core::cmp::Ordering::Equal) => {}
|
|
|
|
ord => return ord,
|
|
|
|
}
|
|
|
|
self.col.partial_cmp(&other.col)
|
|
|
|
}
|
|
|
|
}
|
2024-03-09 19:27:29 +01:00
|
|
|
}
|
2024-03-09 19:49:11 +01:00
|
|
|
|
2024-03-09 19:27:29 +01:00
|
|
|
pub mod workspace {
|
|
|
|
tonic::include_proto!("workspace");
|
|
|
|
}
|
2024-03-09 19:49:11 +01:00
|
|
|
|
2024-08-21 21:38:36 +02:00
|
|
|
pub mod session {
|
|
|
|
tonic::include_proto!("session");
|
|
|
|
}
|
|
|
|
|
2024-03-09 19:27:29 +01:00
|
|
|
pub mod auth {
|
|
|
|
tonic::include_proto!("auth");
|
2024-03-09 19:07:23 +01:00
|
|
|
}
|