@@ -73,12 +73,6 @@ pub struct Buffer {
lamport_clock: clock::Lamport,
}
-#[derive(Clone, Debug, Eq, PartialEq)]
-pub struct SelectionSet {
- pub selections: Arc<[Selection]>,
- pub active: bool,
-}
-
#[derive(Clone, Debug)]
pub struct Transaction {
start: clock::Global,
@@ -2248,17 +2242,6 @@ impl<'a> Into<proto::Anchor> for &'a Anchor {
}
}
-impl<'a> Into<proto::Selection> for &'a Selection {
- fn into(self) -> proto::Selection {
- proto::Selection {
- id: self.id as u64,
- start: Some((&self.start).into()),
- end: Some((&self.end).into()),
- reversed: self.reversed,
- }
- }
-}
-
impl TryFrom<proto::Operation> for Operation {
type Error = anyhow::Error;
@@ -1,5 +1,7 @@
+use rpc::proto;
+
use crate::{Anchor, Buffer, Point, ToOffset as _, ToPoint as _};
-use std::{cmp::Ordering, mem, ops::Range};
+use std::{cmp::Ordering, mem, ops::Range, sync::Arc};
pub type SelectionSetId = clock::Lamport;
pub type SelectionsVersion = usize;
@@ -20,6 +22,12 @@ pub struct Selection {
pub goal: SelectionGoal,
}
+#[derive(Clone, Debug, Eq, PartialEq)]
+pub struct SelectionSet {
+ pub selections: Arc<[Selection]>,
+ pub active: bool,
+}
+
impl Selection {
pub fn head(&self) -> &Anchor {
if self.reversed {
@@ -73,3 +81,14 @@ impl Selection {
}
}
}
+
+impl<'a> Into<proto::Selection> for &'a Selection {
+ fn into(self) -> proto::Selection {
+ proto::Selection {
+ id: self.id as u64,
+ start: Some((&self.start).into()),
+ end: Some((&self.end).into()),
+ reversed: self.reversed,
+ }
+ }
+}