aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Maier <>2026-05-24 14:44:42 +0200
committerJonas Maier <>2026-05-24 14:44:42 +0200
commit4a284751a66905c3d1ca6a0f35ab18176a74fcad (patch)
tree2797c91f87b8f7a716b057d35dd48cdbea29cca0
parent183aee63b56be098efad606df9cf39ae637c4117 (diff)
downloadpish-4a284751a66905c3d1ca6a0f35ab18176a74fcad.tar.gz
default profile execution
-rw-r--r--src/lib.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 05c8479..9716b7b 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -361,11 +361,22 @@ impl Session {
}
}
+const DEFAULT_PROFILE: &[u8] = include_bytes!("profile");
+
fn exec_rc_file(se: Arc<Mutex<Session>>) {
- let _ = run::source(
- se,
- basedir::config_dir().join(".pishrc").as_os_str().as_bytes(),
- );
+ let rcfile = basedir::config_dir().join(".pishrc");
+ if let Ok(true) = fs::exists(&rcfile) {
+ let _ = run::source(se, rcfile.as_os_str().as_bytes());
+ } else {
+ println!("{rcfile:?} does not exist. running default profile.");
+ let script = parse::Script::parse_from_bytes(DEFAULT_PROFILE).unwrap();
+ run::run_script(se, script);
+ }
+}
+
+#[test]
+fn default_profile_should_parse() {
+ parse::Script::parse_from_bytes(DEFAULT_PROFILE).expect("default profile does not parse.");
}
pub fn event_loop() {