bernardo-tui 0.2.7

A keyboard-only, distraction-free TUI widget library
Documentation
use std::fs;
use std::path::PathBuf;

use log::{debug, error};

use crate::io::buffer_output::buffer_output::BufferOutput;
use crate::primitives::helpers::get_next_filename;

pub fn screenshot(dump: &BufferOutput) -> bool {
    let screenshot_dir: PathBuf = PathBuf::from("./screenshots/");
    if let Err(e) = fs::create_dir_all(&screenshot_dir) {
        error!("failed to screenshot: can't create dir: {:?}", e);
        return false;
    }

    let filename = match get_next_filename(screenshot_dir.as_path(), "screenshot_", ".ron") {
        None => {
            error!("failed to screenshot : no filename");
            return false;
        }
        Some(f) => f,
    };

    debug!("writing screenshot to file {:?}", &filename);

    match dump.save_to_file(&filename) {
        Ok(_) => true,
        Err(e) => {
            error!("failed to write screenshot: {:?}", e);
            false
        }
    }
}