bugfixes
This commit is contained in:
+22
-10
@@ -7,7 +7,6 @@ use std::{
|
||||
io::Write,
|
||||
};
|
||||
|
||||
|
||||
fn somefunc() {
|
||||
let c = "hello";
|
||||
|
||||
@@ -16,7 +15,6 @@ fn somefunc() {
|
||||
let c2 = String::from("hello world");
|
||||
}
|
||||
|
||||
|
||||
struct EditorData {
|
||||
buffer: Vec<Vec<char>>, // outer vec is the line, inner is col;
|
||||
file_line: i32,
|
||||
@@ -60,16 +58,30 @@ impl EditorData {
|
||||
&& self.screen_line + dy <= self.buffer.len() as i32
|
||||
{
|
||||
self.screen_line += dy;
|
||||
let line_width = self.buffer.get(self.screen_line as usize).unwrap_or(&Vec::<char>::new()).len() as i32;
|
||||
let line_width = self
|
||||
.buffer
|
||||
.get(self.screen_line as usize)
|
||||
.unwrap_or(&Vec::<char>::new())
|
||||
.len() as i32;
|
||||
if self.screen_col > line_width {
|
||||
self.screen_col = line_width;
|
||||
}
|
||||
} else if self.screen_col + dx < 0 {
|
||||
if self.screen_line - 1 >= 0 {
|
||||
self.screen_line -= 1;
|
||||
self.screen_col = self.buffer.get(self.screen_line as usize).unwrap_or(&Vec::<char>::new()).len() as i32;
|
||||
self.screen_col = self
|
||||
.buffer
|
||||
.get(self.screen_line as usize)
|
||||
.unwrap_or(&Vec::<char>::new())
|
||||
.len() as i32;
|
||||
}
|
||||
} else if self.screen_col + dx > self.buffer.get(self.screen_line as usize).unwrap_or(&Vec::<char>::new()).len() as i32 {
|
||||
} else if self.screen_col + dx
|
||||
> self
|
||||
.buffer
|
||||
.get(self.screen_line as usize)
|
||||
.unwrap_or(&Vec::<char>::new())
|
||||
.len() as i32
|
||||
{
|
||||
if self.screen_line + 1 <= self.buffer.len() as i32 {
|
||||
self.screen_col = 0;
|
||||
self.screen_line += 1;
|
||||
@@ -107,7 +119,10 @@ impl EditorData {
|
||||
line.insert(self.screen_col as usize, c);
|
||||
} else {
|
||||
self.buffer.push(Vec::new());
|
||||
self.buffer.get_mut(self.screen_line as usize).unwrap().push(c);
|
||||
self.buffer
|
||||
.get_mut(self.screen_line as usize)
|
||||
.unwrap()
|
||||
.push(c);
|
||||
}
|
||||
self.mv_cursor(0, 1);
|
||||
}
|
||||
@@ -226,9 +241,7 @@ fn open(filename: &str) -> Result<(), &'static str> {
|
||||
ncurses::KEY_RIGHT => data.mv_cursor(0, 1),
|
||||
ncurses::KEY_UP => data.mv_cursor(-1, 0),
|
||||
ncurses::KEY_DOWN => data.mv_cursor(1, 0),
|
||||
ncurses::KEY_ENTER => {
|
||||
|
||||
}
|
||||
ncurses::KEY_ENTER => {}
|
||||
_ => {
|
||||
data.addchar(char::from_u32(keystroke as u32).unwrap());
|
||||
}
|
||||
@@ -240,7 +253,6 @@ fn open(filename: &str) -> Result<(), &'static str> {
|
||||
}
|
||||
119 => {
|
||||
let buff_size = max_y * max_x;
|
||||
|
||||
|
||||
let buff = data.to_string();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user