Add without tiles option ❤

This commit is contained in:
Anas Elgarhy 2022-10-08 09:35:40 +02:00
parent a3eb3115bc
commit 6be7873702
3 changed files with 22 additions and 7 deletions

View file

@ -7,7 +7,16 @@ license = "MIT"
description = "Brainfu*k interpreter and REPL written in Rust" description = "Brainfu*k interpreter and REPL written in Rust"
repository = "https://github.com/anas-elgarhy/bf-interpreter" repository = "https://github.com/anas-elgarhy/bf-interpreter"
readme = "README.md" readme = "README.md"
keywords = ["brainfuck", "interpreter", "repl"] keywords = [
"brainfuck",
"interpreter",
"repl",
"bf",
"bf-interpreter",
"bf-repl",
"brainfuck-interpreter",
"brainfuck-repl",
]
categories = ["command-line-utilities"] categories = ["command-line-utilities"]
documentation = "https://docs.rs/bf-interpreter" documentation = "https://docs.rs/bf-interpreter"
homepage = "https://github.com/anas-elgarhy/bf-interpreter" homepage = "https://github.com/anas-elgarhy/bf-interpreter"

View file

@ -11,6 +11,9 @@ pub struct Args {
/// The brainfuck array size /// The brainfuck array size
#[arg(short, long, default_value = "30000")] #[arg(short, long, default_value = "30000")]
pub array_size: usize, pub array_size: usize,
/// Dont print the tiles (e.g. exit code, file name, etc)
#[arg(short, long)]
pub without_tiles: bool,
} }
#[derive(Debug, PartialEq, Copy, Clone, ValueEnum)] #[derive(Debug, PartialEq, Copy, Clone, ValueEnum)]

View file

@ -30,6 +30,8 @@ fn main() {
info!("Running brainfuck source code from file: {}", source); info!("Running brainfuck source code from file: {}", source);
match interpreter.run(None) { match interpreter.run(None) {
Ok(exit_code) => { Ok(exit_code) => {
info!("Finished running brainfuck source code from file: {}", source);
if !args.without_tiles {
println!( println!(
"Successfully ran brainfuck source code from file: {}", "Successfully ran brainfuck source code from file: {}",
source source
@ -37,6 +39,7 @@ fn main() {
println!("Exiting with code: {exit_code}"); println!("Exiting with code: {exit_code}");
std::process::exit(0); std::process::exit(0);
} }
}
Err(e) => { Err(e) => {
error!("Failed to run brainfuck source code from file: {}", e); error!("Failed to run brainfuck source code from file: {}", e);
std::process::exit(e.code); std::process::exit(e.code);