Add missing newline to end of file on load

Fix #152
This commit is contained in:
Ivan Tham 2021-06-07 19:33:55 +08:00 committed by Blaž Hrastnik
parent ea6667070f
commit 82fdfdc38e

View File

@ -147,7 +147,12 @@ pub fn load(path: PathBuf) -> Result<Self, Error> {
Rope::from("\n")
} else {
let file = File::open(&path).context(format!("unable to open {:?}", path))?;
Rope::from_reader(BufReader::new(file))?
let mut doc = Rope::from_reader(BufReader::new(file))?;
// add missing newline at the end of file
if doc.byte(doc.len_bytes() - 1) != b'\n' {
doc.insert_char(doc.len_chars(), '\n');
}
doc
};
let mut doc = Self::new(doc);