Unnamed repository; edit this file 'description' to name the repository.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use anyhow::Error;
use ropey::Rope;
use std::{env, fs::File, io::BufReader, path::PathBuf};

pub struct Buffer {
    pub contents: Rope,
}

impl Buffer {
    pub fn load(path: PathBuf) -> Result<Self, Error> {
        let _current_dir = env::current_dir()?;

        let contents = Rope::from_reader(BufReader::new(File::open(path)?))?;

        // TODO: create if not found
        Ok(Buffer { contents })
    }
}