From 4a583272d67cb185c8a39b3d97174c41169800a6 Mon Sep 17 00:00:00 2001 From: rick Date: Sun, 23 Apr 2023 19:16:47 +0200 Subject: [PATCH] fix bad line in write command --- src/buffer.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/buffer.rs b/src/buffer.rs index c0f82fb..12aae68 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -6,6 +6,8 @@ use std::io::Write; pub struct Buffer { has_changed: bool, buffer: Vec>, + // vraie adresse dans le vecteur, l'utilisateur se trouve à current_line + + // 1 pour lui. current_line: usize, file_name: String, } @@ -38,9 +40,9 @@ impl Buffer { pub fn save(&mut self, range: Address) { let len = self.buffer.len(); - let curr = self.current_line.saturating_sub(1); + let curr = self.current_line; match range { - Address::Actual => self.save_range(curr, curr), + Address::Actual => self.save_range(curr, curr.saturating_add(1)), Address::Empty | Address::All => self.save_range(0, len), Address::Last => self.save_range(len.saturating_sub(1), len), Address::Line(l) => self.save_range(l.saturating_sub(1), l),