From ffe868e0cd6605a88c84fa4e126a73bf6b298889 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Tue, 19 May 2026 05:08:27 +0200 Subject: [PATCH] Fixed build stdout --- mist-test/src/main.mist | 2 -- src/builder.rs | 20 ++++++++------------ src/main.rs | 8 ++++---- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/mist-test/src/main.mist b/mist-test/src/main.mist index d80df7d..853e686 100644 --- a/mist-test/src/main.mist +++ b/mist-test/src/main.mist @@ -7,8 +7,6 @@ pub mod event; void main() { var mut app_instance = new app::Application("mist-app"); - i32 bro; - // greeting::register(&mut app_instance); // statistics::register(&mut app_instance); diff --git a/src/builder.rs b/src/builder.rs index e2e02d1..8ab24bf 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -26,11 +26,7 @@ pub enum MistDiagnostic { Rust(CompilerMessage), } -pub fn build( - mut args: Vec, - config: Config, - root: PathBuf, -) -> Result, Vec> { +pub fn build(mut args: Vec, config: Config, root: PathBuf) -> bool { args.remove(0); args.insert(1, "--message-format=json".to_string()); @@ -39,6 +35,8 @@ pub fn build( let mut command = Command::new("cargo") .args(args) .stdout(Stdio::piped()) + .stderr(Stdio::inherit()) + .stdin(Stdio::inherit()) .spawn() .unwrap(); @@ -102,20 +100,18 @@ pub fn build( } Ok(Message::BuildFinished(finish)) => { - if finish.success { - return Ok(diagnostics); - } else { - return Err(diagnostics); - } + print_diagnostics(&diagnostics); + return finish.success; } + Ok(Message::TextLine(text)) => println!("{text}"), _ => {} } } - Ok(diagnostics) + false } -pub fn print_diagnostics(diagnostics: Vec) { +pub fn print_diagnostics(diagnostics: &Vec) { let mut files = HashMap::new(); for diag in diagnostics { diff --git a/src/main.rs b/src/main.rs index 383abe4..83d1e8f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,10 +15,10 @@ fn main() { match args[1].as_str() { "run" | "build" | "r" | "b" => { let (config, root) = transpiler::build(); - - match builder::build(args, config, root) { - Ok(diagnostics) => builder::print_diagnostics(diagnostics), - Err(diagnostics) => builder::print_diagnostics(diagnostics), + if builder::build(args, config, root) { + println!("\x1b[32m\nBuild successful\x1b[0m"); + } else { + println!("\x1b[31m\nBuild failed\x1b[0m"); } } "transpile" | "t" => {