From 4f954112b8c8cf266a8338cc86166f912c2da88c Mon Sep 17 00:00:00 2001 From: Mel Date: Tue, 21 Sep 2021 22:43:20 +0200 Subject: Byte differ --- src/history.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/history.rs') diff --git a/src/history.rs b/src/history.rs index 13b2838..a032eaa 100644 --- a/src/history.rs +++ b/src/history.rs @@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize}; use anyhow::{Context, Result}; -use crate::text_diff::TextChange; +use crate::diff::ContentChange; #[derive(Serialize, Deserialize, Debug)] pub struct FileHistory { @@ -39,15 +39,15 @@ impl FileHistory { } } - pub fn get_content(&self) -> String { - let mut buffer = String::new(); + pub fn get_content(&self) -> Vec { + let mut buffer = Vec::new(); for file_change in self.changes.iter().take(self.cursor) { if let FileChange::Updated(ref updated) = file_change { for change in updated.iter() { change.apply(&mut buffer) } } else { - buffer = String::new(); + buffer.drain(0..); } } buffer @@ -89,6 +89,6 @@ impl Default for FileHistory { #[derive(Serialize, Deserialize, Debug)] pub enum FileChange { - Updated(Vec), + Updated(Vec), Deleted, } -- cgit 1.4.1