Make delete key work

This commit is contained in:
2026-06-09 18:06:44 +03:00
parent e83cab94b0
commit a7813a851c

View File

@@ -180,6 +180,17 @@ impl Editor {
}
}
fn delete(&mut self) {
let (r, col) = self.cursor;
let line_len = self.buffer[r].len();
if col < line_len {
self.buffer[r].remove(col);
} else if r + 1 < self.buffer.len() {
let next = self.buffer.remove(r + 1);
self.buffer[r].push_str(&next);
}
}
fn newline(&mut self) {
let (r, col) = self.cursor;
let col = col.min(self.buffer[r].len());
@@ -479,6 +490,7 @@ fn step(
match key.code {
KeyCode::Char(c) if !ctrl => editor.insert_char(c),
KeyCode::Backspace => editor.backspace(),
KeyCode::Delete => editor.delete(),
KeyCode::Enter => editor.newline(),
KeyCode::Left => editor.left(),
KeyCode::Right => editor.right(),