diff options
Diffstat (limited to 'src/run/builtin.rs')
| -rw-r--r-- | src/run/builtin.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/run/builtin.rs b/src/run/builtin.rs index 3f89ebb..0f90e51 100644 --- a/src/run/builtin.rs +++ b/src/run/builtin.rs @@ -41,9 +41,15 @@ impl Builtin for re { fn mod_session(&self, session: &mut Session, _args: &[BString]) { session.raw.disable(); - let _ = Command::new("cargo").arg("run").status(); - session.raw.disable(); - std::process::exit(0); + match Command::new("cargo").arg("build").status() { + Ok(status) if status.success() => { + let _ = Command::new("cargo").arg("run").status(); + session.raw.disable(); + std::process::exit(0); + } + _ => (), + } + session.raw.enable(); } } |
