diff options
| author | Jonas Maier <> | 2026-03-05 16:52:12 +0100 |
|---|---|---|
| committer | Jonas Maier <> | 2026-03-05 16:52:12 +0100 |
| commit | 2172f24d3f714ea19a01e81a9ce454372a0b71a6 (patch) | |
| tree | 6373d253b4678d2db0d9c23e6e0724af6acc595d | |
| parent | 076993268da470bbc28129170a9e5c9dad1b80b8 (diff) | |
| download | pish-2172f24d3f714ea19a01e81a9ce454372a0b71a6.tar.gz | |
"re" builtin only reloads if build succeeds
| -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(); } } |
