Rename TextBuffer back to Buffer

Max Brunsfeld created

Change summary

crates/buffer/src/anchor.rs    |  6 ++--
crates/buffer/src/lib.rs       | 21 +++++++--------
crates/buffer/src/selection.rs |  8 +++---
crates/buffer/src/tests.rs     | 28 ++++++++++----------
crates/language/src/lib.rs     | 48 ++++++++++++++++++------------------
5 files changed, 55 insertions(+), 56 deletions(-)

Detailed changes

crates/buffer/src/anchor.rs 🔗

@@ -1,6 +1,6 @@
 use crate::Point;
 
-use super::{Content, TextBuffer};
+use super::{Buffer, Content};
 use anyhow::Result;
 use std::{cmp::Ordering, ops::Range};
 use sum_tree::Bias;
@@ -65,7 +65,7 @@ impl Anchor {
         Ok(offset_comparison.then_with(|| self.bias.cmp(&other.bias)))
     }
 
-    pub fn bias_left(&self, buffer: &TextBuffer) -> Anchor {
+    pub fn bias_left(&self, buffer: &Buffer) -> Anchor {
         if self.bias == Bias::Left {
             self.clone()
         } else {
@@ -73,7 +73,7 @@ impl Anchor {
         }
     }
 
-    pub fn bias_right(&self, buffer: &TextBuffer) -> Anchor {
+    pub fn bias_right(&self, buffer: &Buffer) -> Anchor {
         if self.bias == Bias::Right {
             self.clone()
         } else {

crates/buffer/src/lib.rs 🔗

@@ -56,7 +56,7 @@ type HashMap<K, V> = std::collections::HashMap<K, V>;
 type HashSet<T> = std::collections::HashSet<T>;
 
 #[derive(Clone)]
-pub struct TextBuffer {
+pub struct Buffer {
     fragments: SumTree<Fragment>,
     visible_text: Rope,
     deleted_text: Rope,
@@ -441,8 +441,8 @@ pub struct UndoOperation {
     version: clock::Global,
 }
 
-impl TextBuffer {
-    pub fn new(replica_id: u16, remote_id: u64, history: History) -> TextBuffer {
+impl Buffer {
+    pub fn new(replica_id: u16, remote_id: u64, history: History) -> Buffer {
         let mut fragments = SumTree::new();
 
         let visible_text = Rope::from(history.base_text.as_ref());
@@ -459,7 +459,7 @@ impl TextBuffer {
             );
         }
 
-        TextBuffer {
+        Buffer {
             visible_text,
             deleted_text: Rope::new(),
             fragments,
@@ -478,8 +478,7 @@ impl TextBuffer {
     }
 
     pub fn from_proto(replica_id: u16, message: proto::Buffer) -> Result<Self> {
-        let mut buffer =
-            TextBuffer::new(replica_id, message.id, History::new(message.content.into()));
+        let mut buffer = Buffer::new(replica_id, message.id, History::new(message.content.into()));
         let ops = message
             .history
             .into_iter()
@@ -1369,7 +1368,7 @@ impl TextBuffer {
 }
 
 #[cfg(any(test, feature = "test-support"))]
-impl TextBuffer {
+impl Buffer {
     fn random_byte_range(&mut self, start_offset: usize, rng: &mut impl rand::Rng) -> Range<usize> {
         let end = self.clip_offset(rng.gen_range(start_offset..=self.len()), Bias::Right);
         let start = self.clip_offset(rng.gen_range(start_offset..=end), Bias::Right);
@@ -1617,8 +1616,8 @@ impl<'a> From<&'a Snapshot> for Content<'a> {
     }
 }
 
-impl<'a> From<&'a TextBuffer> for Content<'a> {
-    fn from(buffer: &'a TextBuffer) -> Self {
+impl<'a> From<&'a Buffer> for Content<'a> {
+    fn from(buffer: &'a Buffer) -> Self {
         Self {
             visible_text: &buffer.visible_text,
             fragments: &buffer.fragments,
@@ -1627,8 +1626,8 @@ impl<'a> From<&'a TextBuffer> for Content<'a> {
     }
 }
 
-impl<'a> From<&'a mut TextBuffer> for Content<'a> {
-    fn from(buffer: &'a mut TextBuffer) -> Self {
+impl<'a> From<&'a mut Buffer> for Content<'a> {
+    fn from(buffer: &'a mut Buffer) -> Self {
         Self {
             visible_text: &buffer.visible_text,
             fragments: &buffer.fragments,

crates/buffer/src/selection.rs 🔗

@@ -1,4 +1,4 @@
-use crate::{Anchor, Point, TextBuffer, ToOffset as _, ToPoint as _};
+use crate::{Anchor, Buffer, Point, ToOffset as _, ToPoint as _};
 use std::{cmp::Ordering, mem, ops::Range};
 
 pub type SelectionSetId = clock::Lamport;
@@ -29,7 +29,7 @@ impl Selection {
         }
     }
 
-    pub fn set_head(&mut self, buffer: &TextBuffer, cursor: Anchor) {
+    pub fn set_head(&mut self, buffer: &Buffer, cursor: Anchor) {
         if cursor.cmp(self.tail(), buffer).unwrap() < Ordering::Equal {
             if !self.reversed {
                 mem::swap(&mut self.start, &mut self.end);
@@ -53,7 +53,7 @@ impl Selection {
         }
     }
 
-    pub fn point_range(&self, buffer: &TextBuffer) -> Range<Point> {
+    pub fn point_range(&self, buffer: &Buffer) -> Range<Point> {
         let start = self.start.to_point(buffer);
         let end = self.end.to_point(buffer);
         if self.reversed {
@@ -63,7 +63,7 @@ impl Selection {
         }
     }
 
-    pub fn offset_range(&self, buffer: &TextBuffer) -> Range<usize> {
+    pub fn offset_range(&self, buffer: &Buffer) -> Range<usize> {
         let start = self.start.to_offset(buffer);
         let end = self.end.to_offset(buffer);
         if self.reversed {

crates/buffer/src/tests.rs 🔗

@@ -10,7 +10,7 @@ use std::{
 
 #[test]
 fn test_edit() {
-    let mut buffer = TextBuffer::new(0, 0, History::new("abc".into()));
+    let mut buffer = Buffer::new(0, 0, History::new("abc".into()));
     assert_eq!(buffer.text(), "abc");
     buffer.edit(vec![3..3], "def");
     assert_eq!(buffer.text(), "abcdef");
@@ -34,7 +34,7 @@ fn test_random_edits(mut rng: StdRng) {
     let mut reference_string = RandomCharIter::new(&mut rng)
         .take(reference_string_len)
         .collect::<String>();
-    let mut buffer = TextBuffer::new(0, 0, History::new(reference_string.clone().into()));
+    let mut buffer = Buffer::new(0, 0, History::new(reference_string.clone().into()));
     buffer.history.group_interval = Duration::from_millis(rng.gen_range(0..=200));
     let mut buffer_versions = Vec::new();
     log::info!(
@@ -101,7 +101,7 @@ fn test_random_edits(mut rng: StdRng) {
 
 #[test]
 fn test_line_len() {
-    let mut buffer = TextBuffer::new(0, 0, History::new("".into()));
+    let mut buffer = Buffer::new(0, 0, History::new("".into()));
     buffer.edit(vec![0..0], "abcd\nefg\nhij");
     buffer.edit(vec![12..12], "kl\nmno");
     buffer.edit(vec![18..18], "\npqrs\n");
@@ -117,7 +117,7 @@ fn test_line_len() {
 
 #[test]
 fn test_text_summary_for_range() {
-    let buffer = TextBuffer::new(0, 0, History::new("ab\nefg\nhklm\nnopqrs\ntuvwxyz".into()));
+    let buffer = Buffer::new(0, 0, History::new("ab\nefg\nhklm\nnopqrs\ntuvwxyz".into()));
     assert_eq!(
         buffer.text_summary_for_range(1..3),
         TextSummary {
@@ -177,7 +177,7 @@ fn test_text_summary_for_range() {
 
 #[test]
 fn test_chars_at() {
-    let mut buffer = TextBuffer::new(0, 0, History::new("".into()));
+    let mut buffer = Buffer::new(0, 0, History::new("".into()));
     buffer.edit(vec![0..0], "abcd\nefgh\nij");
     buffer.edit(vec![12..12], "kl\nmno");
     buffer.edit(vec![18..18], "\npqrs");
@@ -199,7 +199,7 @@ fn test_chars_at() {
     assert_eq!(chars.collect::<String>(), "PQrs");
 
     // Regression test:
-    let mut buffer = TextBuffer::new(0, 0, History::new("".into()));
+    let mut buffer = Buffer::new(0, 0, History::new("".into()));
     buffer.edit(vec![0..0], "[workspace]\nmembers = [\n    \"xray_core\",\n    \"xray_server\",\n    \"xray_cli\",\n    \"xray_wasm\",\n]\n");
     buffer.edit(vec![60..60], "\n");
 
@@ -209,7 +209,7 @@ fn test_chars_at() {
 
 #[test]
 fn test_anchors() {
-    let mut buffer = TextBuffer::new(0, 0, History::new("".into()));
+    let mut buffer = Buffer::new(0, 0, History::new("".into()));
     buffer.edit(vec![0..0], "abc");
     let left_anchor = buffer.anchor_before(2);
     let right_anchor = buffer.anchor_after(2);
@@ -345,7 +345,7 @@ fn test_anchors() {
 
 #[test]
 fn test_anchors_at_start_and_end() {
-    let mut buffer = TextBuffer::new(0, 0, History::new("".into()));
+    let mut buffer = Buffer::new(0, 0, History::new("".into()));
     let before_start_anchor = buffer.anchor_before(0);
     let after_end_anchor = buffer.anchor_after(0);
 
@@ -368,7 +368,7 @@ fn test_anchors_at_start_and_end() {
 
 #[test]
 fn test_undo_redo() {
-    let mut buffer = TextBuffer::new(0, 0, History::new("1234".into()));
+    let mut buffer = Buffer::new(0, 0, History::new("1234".into()));
     // Set group interval to zero so as to not group edits in the undo stack.
     buffer.history.group_interval = Duration::from_secs(0);
 
@@ -405,7 +405,7 @@ fn test_undo_redo() {
 #[test]
 fn test_history() {
     let mut now = Instant::now();
-    let mut buffer = TextBuffer::new(0, 0, History::new("123456".into()));
+    let mut buffer = Buffer::new(0, 0, History::new("123456".into()));
 
     let set_id = if let Operation::UpdateSelections { set_id, .. } =
         buffer.add_selection_set(buffer.selections_from_ranges(vec![4..4]).unwrap())
@@ -472,9 +472,9 @@ fn test_history() {
 fn test_concurrent_edits() {
     let text = "abcdef";
 
-    let mut buffer1 = TextBuffer::new(1, 0, History::new(text.into()));
-    let mut buffer2 = TextBuffer::new(2, 0, History::new(text.into()));
-    let mut buffer3 = TextBuffer::new(3, 0, History::new(text.into()));
+    let mut buffer1 = Buffer::new(1, 0, History::new(text.into()));
+    let mut buffer2 = Buffer::new(2, 0, History::new(text.into()));
+    let mut buffer3 = Buffer::new(3, 0, History::new(text.into()));
 
     let buf1_op = buffer1.edit(vec![1..2], "12");
     assert_eq!(buffer1.text(), "a12cdef");
@@ -513,7 +513,7 @@ fn test_random_concurrent_edits(mut rng: StdRng) {
     let mut network = Network::new(rng.clone());
 
     for i in 0..peers {
-        let mut buffer = TextBuffer::new(i as ReplicaId, 0, History::new(base_text.clone().into()));
+        let mut buffer = Buffer::new(i as ReplicaId, 0, History::new(base_text.clone().into()));
         buffer.history.group_interval = Duration::from_millis(rng.gen_range(0..=200));
         buffers.push(buffer);
         replica_ids.push(i as u16);

crates/language/src/lib.rs 🔗

@@ -8,7 +8,7 @@ pub use self::{
     language::{BracketPair, Language, LanguageConfig, LanguageRegistry},
 };
 use anyhow::{anyhow, Result};
-pub use buffer::*;
+pub use buffer::{Buffer as TextBuffer, *};
 use clock::ReplicaId;
 use gpui::{AppContext, Entity, ModelContext, MutableAppContext, Task};
 use lazy_static::lazy_static;
@@ -44,7 +44,7 @@ lazy_static! {
 const INDENT_SIZE: u32 = 4;
 
 pub struct Buffer {
-    buffer: TextBuffer,
+    text: TextBuffer,
     file: Option<Box<dyn File>>,
     saved_version: clock::Global,
     saved_mtime: SystemTime,
@@ -223,7 +223,7 @@ impl Buffer {
         }
 
         let mut result = Self {
-            buffer,
+            text: buffer,
             saved_mtime,
             saved_version: clock::Global::new(),
             file,
@@ -244,7 +244,7 @@ impl Buffer {
 
     pub fn snapshot(&self) -> Snapshot {
         Snapshot {
-            text: self.buffer.snapshot(),
+            text: self.text.snapshot(),
             tree: self.syntax_tree(),
             is_parsing: self.parsing_in_background,
             language: self.language.clone(),
@@ -630,9 +630,9 @@ impl Buffer {
                     .selections
                     .iter()
                     .map(|selection| {
-                        let start_point = selection.start.to_point(&self.buffer);
+                        let start_point = selection.start.to_point(&self.text);
                         if start_point.column == 0 {
-                            let end_point = selection.end.to_point(&self.buffer);
+                            let end_point = selection.end.to_point(&self.text);
                             let delta = Point::new(
                                 0,
                                 indent_columns.get(&start_point.row).copied().unwrap_or(0),
@@ -801,7 +801,7 @@ impl Buffer {
         selection_set_ids: impl IntoIterator<Item = SelectionSetId>,
         now: Instant,
     ) -> Result<()> {
-        self.buffer.start_transaction_at(selection_set_ids, now)
+        self.text.start_transaction_at(selection_set_ids, now)
     }
 
     pub fn end_transaction(
@@ -818,7 +818,7 @@ impl Buffer {
         now: Instant,
         cx: &mut ModelContext<Self>,
     ) -> Result<()> {
-        if let Some(start_version) = self.buffer.end_transaction_at(selection_set_ids, now) {
+        if let Some(start_version) = self.text.end_transaction_at(selection_set_ids, now) {
             cx.notify();
             let was_dirty = start_version != self.saved_version;
             let edited = self.edits_since(start_version).next().is_some();
@@ -905,7 +905,7 @@ impl Buffer {
         let first_newline_ix = new_text.find('\n');
         let new_text_len = new_text.len();
 
-        let edit = self.buffer.edit(ranges.iter().cloned(), new_text);
+        let edit = self.text.edit(ranges.iter().cloned(), new_text);
 
         if let Some((before_edit, edited)) = autoindent_request {
             let mut inserted = None;
@@ -920,7 +920,7 @@ impl Buffer {
             }
 
             let selection_set_ids = self
-                .buffer
+                .text
                 .peek_undo_stack()
                 .unwrap()
                 .starting_selection_set_ids()
@@ -949,7 +949,7 @@ impl Buffer {
         selections: impl Into<Arc<[Selection]>>,
         cx: &mut ModelContext<Self>,
     ) -> SelectionSetId {
-        let operation = self.buffer.add_selection_set(selections);
+        let operation = self.text.add_selection_set(selections);
         if let Operation::UpdateSelections { set_id, .. } = &operation {
             let set_id = *set_id;
             cx.notify();
@@ -966,7 +966,7 @@ impl Buffer {
         selections: impl Into<Arc<[Selection]>>,
         cx: &mut ModelContext<Self>,
     ) -> Result<()> {
-        let operation = self.buffer.update_selection_set(set_id, selections)?;
+        let operation = self.text.update_selection_set(set_id, selections)?;
         cx.notify();
         self.send_operation(operation, cx);
         Ok(())
@@ -977,7 +977,7 @@ impl Buffer {
         set_id: Option<SelectionSetId>,
         cx: &mut ModelContext<Self>,
     ) -> Result<()> {
-        let operation = self.buffer.set_active_selection_set(set_id)?;
+        let operation = self.text.set_active_selection_set(set_id)?;
         self.send_operation(operation, cx);
         Ok(())
     }
@@ -987,7 +987,7 @@ impl Buffer {
         set_id: SelectionSetId,
         cx: &mut ModelContext<Self>,
     ) -> Result<()> {
-        let operation = self.buffer.remove_selection_set(set_id)?;
+        let operation = self.text.remove_selection_set(set_id)?;
         cx.notify();
         self.send_operation(operation, cx);
         Ok(())
@@ -1003,7 +1003,7 @@ impl Buffer {
         let was_dirty = self.is_dirty();
         let old_version = self.version.clone();
 
-        self.buffer.apply_ops(ops)?;
+        self.text.apply_ops(ops)?;
 
         cx.notify();
         if self.edits_since(old_version).next().is_some() {
@@ -1027,7 +1027,7 @@ impl Buffer {
     }
 
     pub fn remove_peer(&mut self, replica_id: ReplicaId, cx: &mut ModelContext<Self>) {
-        self.buffer.remove_peer(replica_id);
+        self.text.remove_peer(replica_id);
         cx.notify();
     }
 
@@ -1035,7 +1035,7 @@ impl Buffer {
         let was_dirty = self.is_dirty();
         let old_version = self.version.clone();
 
-        for operation in self.buffer.undo() {
+        for operation in self.text.undo() {
             self.send_operation(operation, cx);
         }
 
@@ -1050,7 +1050,7 @@ impl Buffer {
         let was_dirty = self.is_dirty();
         let old_version = self.version.clone();
 
-        for operation in self.buffer.redo() {
+        for operation in self.text.redo() {
             self.send_operation(operation, cx);
         }
 
@@ -1068,14 +1068,14 @@ impl Buffer {
     where
         T: rand::Rng,
     {
-        self.buffer.randomly_edit(rng, old_range_count);
+        self.text.randomly_edit(rng, old_range_count);
     }
 
     pub fn randomly_mutate<T>(&mut self, rng: &mut T)
     where
         T: rand::Rng,
     {
-        self.buffer.randomly_mutate(rng);
+        self.text.randomly_mutate(rng);
     }
 }
 
@@ -1092,7 +1092,7 @@ impl Entity for Buffer {
 impl Clone for Buffer {
     fn clone(&self) -> Self {
         Self {
-            buffer: self.buffer.clone(),
+            text: self.text.clone(),
             saved_version: self.saved_version.clone(),
             saved_mtime: self.saved_mtime,
             file: self.file.as_ref().map(|f| f.boxed_clone()),
@@ -1114,19 +1114,19 @@ impl Deref for Buffer {
     type Target = TextBuffer;
 
     fn deref(&self) -> &Self::Target {
-        &self.buffer
+        &self.text
     }
 }
 
 impl<'a> From<&'a Buffer> for Content<'a> {
     fn from(buffer: &'a Buffer) -> Self {
-        Self::from(&buffer.buffer)
+        Self::from(&buffer.text)
     }
 }
 
 impl<'a> From<&'a mut Buffer> for Content<'a> {
     fn from(buffer: &'a mut Buffer) -> Self {
-        Self::from(&buffer.buffer)
+        Self::from(&buffer.text)
     }
 }