From d3f28166cb0408da9ae86d0342362c261c1b3edf Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 30 Nov 2021 12:26:12 -0700 Subject: [PATCH] Rename buffer crate to text and name its entrypoint after the crate Co-Authored-By: Max Brunsfeld --- Cargo.lock | 40 +++++++++---------- crates/editor/Cargo.toml | 6 +-- crates/editor/src/display_map.rs | 2 +- crates/editor/src/display_map/block_map.rs | 4 +- crates/editor/src/display_map/fold_map.rs | 26 +++++------- crates/editor/src/display_map/patch.rs | 2 +- crates/editor/src/display_map/tab_map.rs | 4 +- crates/editor/src/display_map/wrap_map.rs | 4 +- crates/editor/src/element.rs | 2 +- crates/editor/src/items.rs | 2 +- crates/editor/src/lib.rs | 4 +- crates/editor/src/movement.rs | 2 +- crates/go_to_line/Cargo.toml | 2 +- crates/go_to_line/src/lib.rs | 2 +- crates/language/Cargo.toml | 6 +-- crates/language/src/lib.rs | 18 ++++----- crates/language/src/proto.rs | 22 +++++----- crates/project/Cargo.toml | 4 +- crates/project/src/fs.rs | 2 +- crates/project/src/worktree.rs | 4 +- crates/{buffer => text}/Cargo.toml | 5 ++- crates/{buffer => text}/src/anchor.rs | 0 .../{buffer => text}/src/operation_queue.rs | 0 crates/{buffer => text}/src/point.rs | 0 crates/{buffer => text}/src/point_utf16.rs | 0 .../{buffer => text}/src/random_char_iter.rs | 0 crates/{buffer => text}/src/rope.rs | 0 crates/{buffer => text}/src/selection.rs | 0 crates/{buffer => text}/src/tests.rs | 0 .../{buffer/src/lib.rs => text/src/text.rs} | 0 crates/zed/Cargo.toml | 6 +-- 31 files changed, 84 insertions(+), 85 deletions(-) rename crates/{buffer => text}/Cargo.toml (92%) rename crates/{buffer => text}/src/anchor.rs (100%) rename crates/{buffer => text}/src/operation_queue.rs (100%) rename crates/{buffer => text}/src/point.rs (100%) rename crates/{buffer => text}/src/point_utf16.rs (100%) rename crates/{buffer => text}/src/random_char_iter.rs (100%) rename crates/{buffer => text}/src/rope.rs (100%) rename crates/{buffer => text}/src/selection.rs (100%) rename crates/{buffer => text}/src/tests.rs (100%) rename crates/{buffer/src/lib.rs => text/src/text.rs} (100%) diff --git a/Cargo.lock b/Cargo.lock index f5a668565b..d84236e1cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -739,21 +739,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "buffer" -version = "0.1.0" -dependencies = [ - "anyhow", - "arrayvec 0.7.1", - "clock", - "collections", - "gpui", - "log", - "rand 0.8.3", - "smallvec", - "sum_tree", -] - [[package]] name = "build_const" version = "0.2.2" @@ -1541,7 +1526,6 @@ version = "0.1.0" dependencies = [ "aho-corasick", "anyhow", - "buffer", "clock", "ctor", "env_logger", @@ -1557,6 +1541,7 @@ dependencies = [ "smallvec", "smol", "sum_tree", + "text", "theme", "tree-sitter", "tree-sitter-rust", @@ -2107,10 +2092,10 @@ dependencies = [ name = "go_to_line" version = "0.1.0" dependencies = [ - "buffer", "editor", "gpui", "postage", + "text", "workspace", ] @@ -2589,7 +2574,6 @@ name = "language" version = "0.1.0" dependencies = [ "anyhow", - "buffer", "clock", "futures", "gpui", @@ -2603,6 +2587,7 @@ dependencies = [ "serde", "similar", "smol", + "text", "theme", "tree-sitter", "tree-sitter-rust", @@ -3451,7 +3436,6 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", - "buffer", "client", "clock", "fsevent", @@ -3474,6 +3458,7 @@ dependencies = [ "smol", "sum_tree", "tempdir", + "text", "toml", "unindent", "util", @@ -4856,6 +4841,21 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "text" +version = "0.1.0" +dependencies = [ + "anyhow", + "arrayvec 0.7.1", + "clock", + "collections", + "gpui", + "log", + "rand 0.8.3", + "smallvec", + "sum_tree", +] + [[package]] name = "textwrap" version = "0.11.0" @@ -5676,7 +5676,6 @@ dependencies = [ "async-recursion", "async-trait", "async-tungstenite", - "buffer", "chat_panel", "client", "clock", @@ -5721,6 +5720,7 @@ dependencies = [ "sum_tree", "surf", "tempdir", + "text", "theme", "theme_selector", "thiserror", diff --git a/crates/editor/Cargo.toml b/crates/editor/Cargo.toml index e2d4b31208..3160be8be6 100644 --- a/crates/editor/Cargo.toml +++ b/crates/editor/Cargo.toml @@ -5,13 +5,13 @@ edition = "2018" [features] test-support = [ - "buffer/test-support", + "text/test-support", "language/test-support", "gpui/test-support", ] [dependencies] -buffer = { path = "../buffer" } +text = { path = "../text" } clock = { path = "../clock" } gpui = { path = "../gpui" } language = { path = "../language" } @@ -31,7 +31,7 @@ smallvec = { version = "1.6", features = ["union"] } smol = "1.2" [dev-dependencies] -buffer = { path = "../buffer", features = ["test-support"] } +text = { path = "../text", features = ["test-support"] } language = { path = "../language", features = ["test-support"] } gpui = { path = "../gpui", features = ["test-support"] } ctor = "0.1" diff --git a/crates/editor/src/display_map.rs b/crates/editor/src/display_map.rs index da92260ec8..bbf03637e1 100644 --- a/crates/editor/src/display_map.rs +++ b/crates/editor/src/display_map.rs @@ -6,7 +6,6 @@ mod wrap_map; pub use block_map::{BlockDisposition, BlockId, BlockProperties, BufferRows, Chunks}; use block_map::{BlockMap, BlockPoint}; -use buffer::Rope; use fold_map::{FoldMap, ToFoldPoint as _}; use gpui::{ fonts::{FontId, HighlightStyle}, @@ -19,6 +18,7 @@ use std::{ }; use sum_tree::Bias; use tab_map::TabMap; +use text::Rope; use theme::{BlockStyle, SyntaxTheme}; use wrap_map::WrapMap; diff --git a/crates/editor/src/display_map/block_map.rs b/crates/editor/src/display_map/block_map.rs index b45274d691..d28d8d7efd 100644 --- a/crates/editor/src/display_map/block_map.rs +++ b/crates/editor/src/display_map/block_map.rs @@ -2,7 +2,6 @@ use super::{ wrap_map::{self, Edit as WrapEdit, Snapshot as WrapSnapshot, WrapPoint}, BlockStyle, DisplayRow, }; -use buffer::{rope, Anchor, Bias, Edit, Point, Rope, ToOffset, ToPoint as _}; use gpui::{fonts::HighlightStyle, AppContext, ModelHandle}; use language::{Buffer, Chunk}; use parking_lot::Mutex; @@ -19,6 +18,7 @@ use std::{ vec, }; use sum_tree::SumTree; +use text::{rope, Anchor, Bias, Edit, Point, Rope, ToOffset, ToPoint as _}; use theme::SyntaxTheme; pub struct BlockMap { @@ -1003,11 +1003,11 @@ fn offset_for_row(s: &str, target: u32) -> (u32, usize) { mod tests { use super::*; use crate::display_map::{fold_map::FoldMap, tab_map::TabMap, wrap_map::WrapMap}; - use buffer::RandomCharIter; use gpui::color::Color; use language::Buffer; use rand::prelude::*; use std::env; + use text::RandomCharIter; #[gpui::test] fn test_offset_for_row() { diff --git a/crates/editor/src/display_map/fold_map.rs b/crates/editor/src/display_map/fold_map.rs index 26d3ff3a7d..840497447b 100644 --- a/crates/editor/src/display_map/fold_map.rs +++ b/crates/editor/src/display_map/fold_map.rs @@ -110,7 +110,7 @@ impl<'a> FoldMapWriter<'a> { if range.start != range.end { let fold = Fold(buffer.anchor_after(range.start)..buffer.anchor_before(range.end)); folds.push(fold); - edits.push(buffer::Edit { + edits.push(text::Edit { old: range.clone(), new: range, }); @@ -154,7 +154,7 @@ impl<'a> FoldMapWriter<'a> { let mut folds_cursor = intersecting_folds(&buffer, &self.0.folds, range, true); while let Some(fold) = folds_cursor.item() { let offset_range = fold.0.start.to_offset(&buffer)..fold.0.end.to_offset(&buffer); - edits.push(buffer::Edit { + edits.push(text::Edit { old: offset_range.clone(), new: offset_range, }); @@ -285,11 +285,7 @@ impl FoldMap { } } - fn apply_edits( - &self, - buffer_edits: Vec>, - cx: &AppContext, - ) -> Vec { + fn apply_edits(&self, buffer_edits: Vec>, cx: &AppContext) -> Vec { let buffer = self.buffer.read(cx).snapshot(); let mut buffer_edits_iter = buffer_edits.iter().cloned().peekable(); @@ -713,7 +709,7 @@ impl Snapshot { } fn intersecting_folds<'a, T>( - buffer: &'a buffer::Snapshot, + buffer: &'a text::Snapshot, folds: &'a SumTree, range: Range, inclusive: bool, @@ -738,7 +734,7 @@ where ) } -fn consolidate_buffer_edits(edits: &mut Vec>) { +fn consolidate_buffer_edits(edits: &mut Vec>) { edits.sort_unstable_by(|a, b| { a.old .start @@ -864,9 +860,9 @@ impl Default for FoldSummary { } impl sum_tree::Summary for FoldSummary { - type Context = buffer::Snapshot; + type Context = text::Snapshot; - fn add_summary(&mut self, other: &Self, buffer: &buffer::Snapshot) { + fn add_summary(&mut self, other: &Self, buffer: &text::Snapshot) { if other.min_start.cmp(&self.min_start, buffer).unwrap() == Ordering::Less { self.min_start = other.min_start.clone(); } @@ -890,20 +886,20 @@ impl sum_tree::Summary for FoldSummary { } impl<'a> sum_tree::Dimension<'a, FoldSummary> for Fold { - fn add_summary(&mut self, summary: &'a FoldSummary, _: &buffer::Snapshot) { + fn add_summary(&mut self, summary: &'a FoldSummary, _: &text::Snapshot) { self.0.start = summary.start.clone(); self.0.end = summary.end.clone(); } } impl<'a> sum_tree::SeekTarget<'a, FoldSummary, Fold> for Fold { - fn cmp(&self, other: &Self, buffer: &buffer::Snapshot) -> Ordering { + fn cmp(&self, other: &Self, buffer: &text::Snapshot) -> Ordering { self.0.cmp(&other.0, buffer).unwrap() } } impl<'a> sum_tree::Dimension<'a, FoldSummary> for usize { - fn add_summary(&mut self, summary: &'a FoldSummary, _: &buffer::Snapshot) { + fn add_summary(&mut self, summary: &'a FoldSummary, _: &text::Snapshot) { *self += summary.count; } } @@ -1078,9 +1074,9 @@ impl FoldEdit { mod tests { use super::*; use crate::{test::sample_text, ToPoint}; - use buffer::RandomCharIter; use rand::prelude::*; use std::{env, mem}; + use text::RandomCharIter; use Bias::{Left, Right}; #[gpui::test] diff --git a/crates/editor/src/display_map/patch.rs b/crates/editor/src/display_map/patch.rs index 1fa940d91c..fd6117d3a6 100644 --- a/crates/editor/src/display_map/patch.rs +++ b/crates/editor/src/display_map/patch.rs @@ -1,6 +1,6 @@ use std::{cmp, mem}; -type Edit = buffer::Edit; +type Edit = text::Edit; #[derive(Default, Debug, PartialEq, Eq)] pub struct Patch(Vec); diff --git a/crates/editor/src/display_map/tab_map.rs b/crates/editor/src/display_map/tab_map.rs index 675ce9132e..778e63b6a1 100644 --- a/crates/editor/src/display_map/tab_map.rs +++ b/crates/editor/src/display_map/tab_map.rs @@ -1,9 +1,9 @@ use super::fold_map::{self, FoldEdit, FoldPoint, Snapshot as FoldSnapshot, ToFoldPoint}; -use buffer::Point; use language::{rope, Chunk}; use parking_lot::Mutex; use std::{cmp, mem, ops::Range}; use sum_tree::Bias; +use text::Point; use theme::SyntaxTheme; pub struct TabMap(Mutex); @@ -451,9 +451,9 @@ impl<'a> Iterator for Chunks<'a> { mod tests { use super::*; use crate::display_map::fold_map::FoldMap; - use buffer::{RandomCharIter, Rope}; use language::Buffer; use rand::{prelude::StdRng, Rng}; + use text::{RandomCharIter, Rope}; #[test] fn test_expand_tabs() { diff --git a/crates/editor/src/display_map/wrap_map.rs b/crates/editor/src/display_map/wrap_map.rs index 565c016f3b..2349b1974d 100644 --- a/crates/editor/src/display_map/wrap_map.rs +++ b/crates/editor/src/display_map/wrap_map.rs @@ -16,7 +16,7 @@ use sum_tree::{Bias, Cursor, SumTree}; use theme::SyntaxTheme; pub use super::tab_map::TextSummary; -pub type Edit = buffer::Edit; +pub type Edit = text::Edit; pub struct WrapMap { snapshot: Snapshot, @@ -991,10 +991,10 @@ mod tests { display_map::{fold_map::FoldMap, tab_map::TabMap}, test::Observer, }; - use buffer::Rope; use language::{Buffer, RandomCharIter}; use rand::prelude::*; use std::{cmp, env}; + use text::Rope; #[gpui::test(iterations = 100)] async fn test_random_wraps(mut cx: gpui::TestAppContext, mut rng: StdRng) { diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index c8e307c0ac..5acc526014 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -931,7 +931,7 @@ pub struct LayoutState { line_height: f32, em_width: f32, em_advance: f32, - selections: HashMap>>, + selections: HashMap>>, overscroll: Vector2F, text_offset: Vector2F, max_visible_line_width: f32, diff --git a/crates/editor/src/items.rs b/crates/editor/src/items.rs index e5dc4fb224..f4261c30bb 100644 --- a/crates/editor/src/items.rs +++ b/crates/editor/src/items.rs @@ -1,6 +1,5 @@ use crate::{Editor, EditorSettings, Event}; use anyhow::Result; -use buffer::{Point, Selection, ToPoint}; use gpui::{ elements::*, fonts::TextStyle, AppContext, Entity, ModelContext, ModelHandle, MutableAppContext, RenderContext, Subscription, Task, View, ViewContext, ViewHandle, @@ -11,6 +10,7 @@ use postage::watch; use project::{ProjectPath, Worktree}; use std::fmt::Write; use std::path::Path; +use text::{Point, Selection, ToPoint}; use workspace::{ settings, EntryOpener, ItemHandle, ItemView, ItemViewHandle, Settings, StatusItemView, WeakItemHandle, diff --git a/crates/editor/src/lib.rs b/crates/editor/src/lib.rs index 2a893a25b0..27a31addb3 100644 --- a/crates/editor/src/lib.rs +++ b/crates/editor/src/lib.rs @@ -7,7 +7,6 @@ pub mod movement; mod test; use aho_corasick::AhoCorasick; -use buffer::rope::TextDimension; use clock::ReplicaId; use display_map::*; pub use display_map::{DisplayPoint, DisplayRow}; @@ -35,6 +34,7 @@ use std::{ time::Duration, }; use sum_tree::Bias; +use text::rope::TextDimension; use theme::{DiagnosticStyle, EditorStyle, SyntaxTheme}; use util::post_inc; use workspace::{EntryOpener, Workspace}; @@ -3731,7 +3731,7 @@ pub fn diagnostic_style( mod tests { use super::*; use crate::test::sample_text; - use buffer::Point; + use text::Point; use unindent::Unindent; #[gpui::test] diff --git a/crates/editor/src/movement.rs b/crates/editor/src/movement.rs index b3d9610e02..dbf0f0f7e2 100644 --- a/crates/editor/src/movement.rs +++ b/crates/editor/src/movement.rs @@ -1,7 +1,7 @@ use super::{Bias, DisplayMapSnapshot, DisplayPoint, SelectionGoal, ToDisplayPoint}; use anyhow::Result; -use buffer::ToPoint; use std::{cmp, ops::Range}; +use text::ToPoint; pub fn left(map: &DisplayMapSnapshot, mut point: DisplayPoint) -> Result { if point.column() > 0 { diff --git a/crates/go_to_line/Cargo.toml b/crates/go_to_line/Cargo.toml index c1cf2863df..bebdcf1b40 100644 --- a/crates/go_to_line/Cargo.toml +++ b/crates/go_to_line/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2018" [dependencies] -buffer = { path = "../buffer" } +text = { path = "../text" } editor = { path = "../editor" } gpui = { path = "../gpui" } workspace = { path = "../workspace" } diff --git a/crates/go_to_line/src/lib.rs b/crates/go_to_line/src/lib.rs index 4e493b57a0..77942b105f 100644 --- a/crates/go_to_line/src/lib.rs +++ b/crates/go_to_line/src/lib.rs @@ -1,4 +1,4 @@ -use buffer::{Bias, Point, Selection}; +use text::{Bias, Point, Selection}; use editor::{display_map::ToDisplayPoint, Autoscroll, Editor, EditorSettings}; use gpui::{ action, elements::*, geometry::vector::Vector2F, keymap::Binding, Axis, Entity, diff --git a/crates/language/Cargo.toml b/crates/language/Cargo.toml index 39423268e7..76659e5428 100644 --- a/crates/language/Cargo.toml +++ b/crates/language/Cargo.toml @@ -6,13 +6,13 @@ edition = "2018" [features] test-support = [ "rand", - "buffer/test-support", + "text/test-support", "lsp/test-support", "tree-sitter-rust", ] [dependencies] -buffer = { path = "../buffer" } +text = { path = "../text" } clock = { path = "../clock" } gpui = { path = "../gpui" } lsp = { path = "../lsp" } @@ -33,7 +33,7 @@ tree-sitter = "0.19.5" tree-sitter-rust = { version = "0.19.0", optional = true } [dev-dependencies] -buffer = { path = "../buffer", features = ["test-support"] } +text = { path = "../text", features = ["test-support"] } gpui = { path = "../gpui", features = ["test-support"] } lsp = { path = "../lsp", features = ["test-support"] } rand = "0.8.3" diff --git a/crates/language/src/lib.rs b/crates/language/src/lib.rs index 07602e227f..d70ea71be1 100644 --- a/crates/language/src/lib.rs +++ b/crates/language/src/lib.rs @@ -12,7 +12,6 @@ pub use self::{ }, }; use anyhow::{anyhow, Result}; -pub use buffer::{Buffer as TextBuffer, Operation as _, *}; use clock::ReplicaId; use futures::FutureExt as _; use gpui::{fonts::HighlightStyle, AppContext, Entity, ModelContext, MutableAppContext, Task}; @@ -37,6 +36,7 @@ use std::{ time::{Duration, Instant, SystemTime, UNIX_EPOCH}, vec, }; +pub use text::{Buffer as TextBuffer, Operation as _, *}; use theme::SyntaxTheme; use tree_sitter::{InputEdit, Parser, QueryCursor, Tree}; use util::{post_inc, TryFutureExt as _}; @@ -77,7 +77,7 @@ pub struct Buffer { } pub struct Snapshot { - text: buffer::Snapshot, + text: text::Snapshot, tree: Option, diagnostics: AnchorRangeMultimap, is_parsing: bool, @@ -102,14 +102,14 @@ struct LanguageServerState { #[derive(Clone)] struct LanguageServerSnapshot { - buffer_snapshot: buffer::Snapshot, + buffer_snapshot: text::Snapshot, version: usize, path: Arc, } #[derive(Clone)] pub enum Operation { - Buffer(buffer::Operation), + Buffer(text::Operation), UpdateDiagnostics(AnchorRangeMultimap), } @@ -269,11 +269,11 @@ impl Buffer { cx: &mut ModelContext, ) -> Result { let mut buffer = - buffer::Buffer::new(replica_id, message.id, History::new(message.content.into())); + text::Buffer::new(replica_id, message.id, History::new(message.content.into())); let ops = message .history .into_iter() - .map(|op| buffer::Operation::Edit(proto::deserialize_edit_operation(op))); + .map(|op| text::Operation::Edit(proto::deserialize_edit_operation(op))); buffer.apply_ops(ops)?; for set in message.selections { let set = proto::deserialize_selection_set(set); @@ -1321,7 +1321,7 @@ impl Buffer { } self.end_transaction(None, cx).unwrap(); - self.send_operation(Operation::Buffer(buffer::Operation::Edit(edit)), cx); + self.send_operation(Operation::Buffer(text::Operation::Edit(edit)), cx); } fn did_edit( @@ -1354,7 +1354,7 @@ impl Buffer { cx: &mut ModelContext, ) -> SelectionSetId { let operation = self.text.add_selection_set(selections); - if let buffer::Operation::UpdateSelections { set_id, .. } = &operation { + if let text::Operation::UpdateSelections { set_id, .. } = &operation { let set_id = *set_id; cx.notify(); self.send_operation(Operation::Buffer(operation), cx); @@ -1746,7 +1746,7 @@ impl Clone for Snapshot { } impl Deref for Snapshot { - type Target = buffer::Snapshot; + type Target = text::Snapshot; fn deref(&self) -> &Self::Target { &self.text diff --git a/crates/language/src/proto.rs b/crates/language/src/proto.rs index 23a6e2b656..c5e25fe751 100644 --- a/crates/language/src/proto.rs +++ b/crates/language/src/proto.rs @@ -4,20 +4,20 @@ use crate::Diagnostic; use super::Operation; use anyhow::{anyhow, Result}; -use buffer::*; use clock::ReplicaId; use lsp::DiagnosticSeverity; use rpc::proto; +use text::*; pub use proto::Buffer; pub fn serialize_operation(operation: &Operation) -> proto::Operation { proto::Operation { variant: Some(match operation { - Operation::Buffer(buffer::Operation::Edit(edit)) => { + Operation::Buffer(text::Operation::Edit(edit)) => { proto::operation::Variant::Edit(serialize_edit_operation(edit)) } - Operation::Buffer(buffer::Operation::Undo { + Operation::Buffer(text::Operation::Undo { undo, lamport_timestamp, }) => proto::operation::Variant::Undo(proto::operation::Undo { @@ -43,7 +43,7 @@ pub fn serialize_operation(operation: &Operation) -> proto::Operation { .collect(), version: From::from(&undo.version), }), - Operation::Buffer(buffer::Operation::UpdateSelections { + Operation::Buffer(text::Operation::UpdateSelections { set_id, selections, lamport_timestamp, @@ -62,7 +62,7 @@ pub fn serialize_operation(operation: &Operation) -> proto::Operation { }) .collect(), }), - Operation::Buffer(buffer::Operation::RemoveSelections { + Operation::Buffer(text::Operation::RemoveSelections { set_id, lamport_timestamp, }) => proto::operation::Variant::RemoveSelections(proto::operation::RemoveSelections { @@ -70,7 +70,7 @@ pub fn serialize_operation(operation: &Operation) -> proto::Operation { local_timestamp: set_id.value, lamport_timestamp: lamport_timestamp.value, }), - Operation::Buffer(buffer::Operation::SetActiveSelections { + Operation::Buffer(text::Operation::SetActiveSelections { set_id, lamport_timestamp, }) => proto::operation::Variant::SetActiveSelections( @@ -155,9 +155,9 @@ pub fn deserialize_operation(message: proto::Operation) -> Result { .ok_or_else(|| anyhow!("missing operation variant"))? { proto::operation::Variant::Edit(edit) => { - Operation::Buffer(buffer::Operation::Edit(deserialize_edit_operation(edit))) + Operation::Buffer(text::Operation::Edit(deserialize_edit_operation(edit))) } - proto::operation::Variant::Undo(undo) => Operation::Buffer(buffer::Operation::Undo { + proto::operation::Variant::Undo(undo) => Operation::Buffer(text::Operation::Undo { lamport_timestamp: clock::Lamport { replica_id: undo.replica_id as ReplicaId, value: undo.lamport_timestamp, @@ -211,7 +211,7 @@ pub fn deserialize_operation(message: proto::Operation) -> Result { entries, ); - Operation::Buffer(buffer::Operation::UpdateSelections { + Operation::Buffer(text::Operation::UpdateSelections { set_id: clock::Lamport { replica_id: message.replica_id as ReplicaId, value: message.local_timestamp, @@ -224,7 +224,7 @@ pub fn deserialize_operation(message: proto::Operation) -> Result { }) } proto::operation::Variant::RemoveSelections(message) => { - Operation::Buffer(buffer::Operation::RemoveSelections { + Operation::Buffer(text::Operation::RemoveSelections { set_id: clock::Lamport { replica_id: message.replica_id as ReplicaId, value: message.local_timestamp, @@ -236,7 +236,7 @@ pub fn deserialize_operation(message: proto::Operation) -> Result { }) } proto::operation::Variant::SetActiveSelections(message) => { - Operation::Buffer(buffer::Operation::SetActiveSelections { + Operation::Buffer(text::Operation::SetActiveSelections { set_id: message.local_timestamp.map(|value| clock::Lamport { replica_id: message.replica_id as ReplicaId, value, diff --git a/crates/project/Cargo.toml b/crates/project/Cargo.toml index b19516055e..98b73508f6 100644 --- a/crates/project/Cargo.toml +++ b/crates/project/Cargo.toml @@ -4,10 +4,10 @@ version = "0.1.0" edition = "2018" [features] -test-support = ["language/test-support", "buffer/test-support"] +test-support = ["language/test-support", "text/test-support"] [dependencies] -buffer = { path = "../buffer" } +text = { path = "../text" } client = { path = "../client" } clock = { path = "../clock" } fsevent = { path = "../fsevent" } diff --git a/crates/project/src/fs.rs b/crates/project/src/fs.rs index 650cb4a8ec..85c0e45fb0 100644 --- a/crates/project/src/fs.rs +++ b/crates/project/src/fs.rs @@ -1,5 +1,4 @@ use anyhow::{anyhow, Result}; -use buffer::Rope; use fsevent::EventStream; use futures::{Stream, StreamExt}; use postage::prelude::Sink as _; @@ -11,6 +10,7 @@ use std::{ pin::Pin, time::{Duration, SystemTime}, }; +use text::Rope; #[async_trait::async_trait] pub trait Fs: Send + Sync { diff --git a/crates/project/src/worktree.rs b/crates/project/src/worktree.rs index 36df02112c..42ded059a4 100644 --- a/crates/project/src/worktree.rs +++ b/crates/project/src/worktree.rs @@ -3004,7 +3004,6 @@ mod tests { use super::*; use crate::fs::FakeFs; use anyhow::Result; - use buffer::Point; use client::test::{FakeHttpClient, FakeServer}; use fs::RealFs; use language::{tree_sitter_rust, LanguageServerConfig}; @@ -3018,6 +3017,7 @@ mod tests { fmt::Write, time::{SystemTime, UNIX_EPOCH}, }; + use text::Point; use util::test::temp_tree; #[gpui::test] @@ -3559,8 +3559,8 @@ mod tests { #[gpui::test] async fn test_buffer_file_changes_on_disk(mut cx: gpui::TestAppContext) { - use buffer::{Point, Selection, SelectionGoal}; use std::fs; + use text::{Point, Selection, SelectionGoal}; let initial_contents = "aaa\nbbbbb\nc\n"; let dir = temp_tree(json!({ "the-file": initial_contents })); diff --git a/crates/buffer/Cargo.toml b/crates/text/Cargo.toml similarity index 92% rename from crates/buffer/Cargo.toml rename to crates/text/Cargo.toml index b69627eb73..bda69006be 100644 --- a/crates/buffer/Cargo.toml +++ b/crates/text/Cargo.toml @@ -1,8 +1,11 @@ [package] -name = "buffer" +name = "text" version = "0.1.0" edition = "2021" +[lib] +path = "src/text.rs" + [features] test-support = ["rand"] diff --git a/crates/buffer/src/anchor.rs b/crates/text/src/anchor.rs similarity index 100% rename from crates/buffer/src/anchor.rs rename to crates/text/src/anchor.rs diff --git a/crates/buffer/src/operation_queue.rs b/crates/text/src/operation_queue.rs similarity index 100% rename from crates/buffer/src/operation_queue.rs rename to crates/text/src/operation_queue.rs diff --git a/crates/buffer/src/point.rs b/crates/text/src/point.rs similarity index 100% rename from crates/buffer/src/point.rs rename to crates/text/src/point.rs diff --git a/crates/buffer/src/point_utf16.rs b/crates/text/src/point_utf16.rs similarity index 100% rename from crates/buffer/src/point_utf16.rs rename to crates/text/src/point_utf16.rs diff --git a/crates/buffer/src/random_char_iter.rs b/crates/text/src/random_char_iter.rs similarity index 100% rename from crates/buffer/src/random_char_iter.rs rename to crates/text/src/random_char_iter.rs diff --git a/crates/buffer/src/rope.rs b/crates/text/src/rope.rs similarity index 100% rename from crates/buffer/src/rope.rs rename to crates/text/src/rope.rs diff --git a/crates/buffer/src/selection.rs b/crates/text/src/selection.rs similarity index 100% rename from crates/buffer/src/selection.rs rename to crates/text/src/selection.rs diff --git a/crates/buffer/src/tests.rs b/crates/text/src/tests.rs similarity index 100% rename from crates/buffer/src/tests.rs rename to crates/text/src/tests.rs diff --git a/crates/buffer/src/lib.rs b/crates/text/src/text.rs similarity index 100% rename from crates/buffer/src/lib.rs rename to crates/text/src/text.rs diff --git a/crates/zed/Cargo.toml b/crates/zed/Cargo.toml index 4186f66372..485011d5e4 100644 --- a/crates/zed/Cargo.toml +++ b/crates/zed/Cargo.toml @@ -15,7 +15,7 @@ path = "src/main.rs" [features] test-support = [ - "buffer/test-support", + "text/test-support", "client/test-support", "editor/test-support", "gpui/test-support", @@ -28,7 +28,7 @@ test-support = [ ] [dependencies] -buffer = { path = "../buffer" } +text = { path = "../text" } chat_panel = { path = "../chat_panel" } client = { path = "../client" } clock = { path = "../clock" } @@ -89,7 +89,7 @@ tree-sitter-rust = "0.19.0" url = "2.2" [dev-dependencies] -buffer = { path = "../buffer", features = ["test-support"] } +text = { path = "../text", features = ["test-support"] } editor = { path = "../editor", features = ["test-support"] } gpui = { path = "../gpui", features = ["test-support"] } language = { path = "../language", features = ["test-support"] }