From 59a7c11031ee30aafedbf0bb1a280f8a2905fedd Mon Sep 17 00:00:00 2001 From: greg Date: Mon, 7 May 2018 02:38:44 -0700 Subject: [PATCH] Hook --debug flag to new debug framework --- schala-repl/src/lib.rs | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/schala-repl/src/lib.rs b/schala-repl/src/lib.rs index 241fbb8..0d39f78 100644 --- a/schala-repl/src/lib.rs +++ b/schala-repl/src/lib.rs @@ -64,9 +64,12 @@ pub fn repl_main(generators: Vec) { } let mut options = EvalOptions::default(); - if let Some(_) = option_matches.opt_str("debug") { - /* TODO - put some debug handling code here */ - } + let debug_passes = if let Some(opts) = option_matches.opt_str("debug") { + let output: Vec = opts.split_terminator(",").map(|s| s.to_string()).collect(); + output + } else { + vec![] + }; let language_names: Vec = languages.iter().map(|lang| {lang.get_language_name()}).collect(); let initial_index: usize = @@ -86,12 +89,12 @@ pub fn repl_main(generators: Vec) { } [_, ref filename, _..] => { - run_noninteractive(filename, languages, options); + run_noninteractive(filename, languages, options, debug_passes); } }; } -fn run_noninteractive(filename: &str, languages: Vec>, options: EvalOptions) { +fn run_noninteractive(filename: &str, languages: Vec>, mut options: EvalOptions, debug_passes: Vec) { let path = Path::new(filename); let ext = path.extension().and_then(|e| e.to_str()).unwrap_or_else(|| { println!("Source file lacks extension"); @@ -108,6 +111,12 @@ fn run_noninteractive(filename: &str, languages: Vec { /*