diff --git a/src/main.rs b/src/main.rs index 5e3f4bd..5a4dfc9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,5 @@ +#![feature(file_create_new)] + use clap::Parser; use crate::ascii_manipulation::*; use crate::cli::Cli; diff --git a/src/output.rs b/src/output.rs index 21fa397..d478f90 100644 --- a/src/output.rs +++ b/src/output.rs @@ -1,4 +1,7 @@ +use std::fs::File; +use std::io::Write; use std::path::PathBuf; +use log::error; use crate::model_rgb_ascii::Ascii; //todo: take into consideration the in_colour flag @@ -11,6 +14,13 @@ pub fn print_terminal(art: Vec>, in_colour: bool) { } } -pub fn print_file(ascii: Vec>, out: PathBuf) { - //todo: this +pub fn print_file(art: Vec>, out: PathBuf) -> std::io::Result<()> { + let mut file = File::create_new(out)?; + for line in art { + for ascii in line { + write!(file, "{}", ascii.char)?; + } + writeln!(file)?; + } + Ok(()) } \ No newline at end of file