aboutsummaryrefslogtreecommitdiffstats
path: root/src/run/builtin.rs
diff options
context:
space:
mode:
authorJonas Maier <>2026-03-05 16:52:12 +0100
committerJonas Maier <>2026-03-05 16:52:12 +0100
commit2172f24d3f714ea19a01e81a9ce454372a0b71a6 (patch)
tree6373d253b4678d2db0d9c23e6e0724af6acc595d /src/run/builtin.rs
parent076993268da470bbc28129170a9e5c9dad1b80b8 (diff)
downloadpish-2172f24d3f714ea19a01e81a9ce454372a0b71a6.tar.gz
"re" builtin only reloads if build succeeds
Diffstat (limited to 'src/run/builtin.rs')
-rw-r--r--src/run/builtin.rs12
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();
}
}