about summary refs log tree commit diff
path: root/src/history.rs
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2021-09-21 22:43:20 +0200
committerMel <einebeere@gmail.com>2021-09-21 22:43:20 +0200
commit4f954112b8c8cf266a8338cc86166f912c2da88c (patch)
treedee4e22a7b6cf8d49ae582e9104bf406c0bc9b3b /src/history.rs
parentb86138b138565178b916b24d1e30d5786fd9d1c5 (diff)
downloadka-4f954112b8c8cf266a8338cc86166f912c2da88c.tar.zst
ka-4f954112b8c8cf266a8338cc86166f912c2da88c.zip
Byte differ
Diffstat (limited to 'src/history.rs')
-rw-r--r--src/history.rs10
1 files changed, 5 insertions, 5 deletions
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<u8> {
+        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<TextChange>),
+    Updated(Vec<ContentChange>),
     Deleted,
 }