refactor(document): rewrite if comparison to use std::cmp

This commit is contained in:
Harsh Shandilya 2022-08-11 15:23:39 +05:30
parent 170e794516
commit 09d6343874
No known key found for this signature in database

View File

@ -1,5 +1,6 @@
use crate::Position;
use crate::Row;
use std::cmp::Ordering;
use std::fs;
use std::io::{Error, Write};
@ -39,13 +40,17 @@ impl Document {
self.insert_newline(at);
return;
}
if at.y == self.len() {
let mut row = Row::default();
row.insert(0, c);
self.rows.push(row);
} else if at.y < self.len() {
let row = self.rows.get_mut(at.y).unwrap();
row.insert(at.x, c);
match self.len().cmp(&at.y) {
Ordering::Equal => {
let mut row = Row::default();
row.insert(0, c);
self.rows.push(row);
}
Ordering::Greater => {
let row = self.rows.get_mut(at.y).unwrap();
row.insert(at.x, c);
}
Ordering::Less => (),
}
}