diff options
| author | Jonas Maier <> | 2026-05-03 09:15:04 +0200 |
|---|---|---|
| committer | Jonas Maier <> | 2026-05-03 09:15:04 +0200 |
| commit | d5953e52f0df8ca6727e71fa07f147467a7369c1 (patch) | |
| tree | cffbb58207d2aa81fc6d765b005b1225914fb268 /src/run/mod.rs | |
| parent | a9bf864158e67353f57047cdc4d6b0e325d73eae (diff) | |
| download | pish-d5953e52f0df8ca6727e71fa07f147467a7369c1.tar.gz | |
complete keybind overhaul, not working, afraid to loose it
Diffstat (limited to 'src/run/mod.rs')
| -rw-r--r-- | src/run/mod.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/run/mod.rs b/src/run/mod.rs index c866c6e..a31ff1a 100644 --- a/src/run/mod.rs +++ b/src/run/mod.rs @@ -477,6 +477,21 @@ fn exec(se: Arc<Mutex<Session>>, ast: Ast<PreExpansion>) -> Result<(), ExecError exec.exec_loop(cmd, &mut [c1, c2]) } +pub fn run_quiet( + se: Arc<Mutex<Session>>, + cmd: parse::Command<PostExpansion>, +) -> Result<(), ExecError> { + let mut exec = Executor { + se: se.clone(), + args: None, + expand_commands: true, + }; + let (i, c1) = InputReader::new(Input::Null); + let (o, c2) = OutputWriter::new(Output::Null); + let cmd = exec.execute_pipeline(parse::Pipes { cmds: vec![cmd] }, i, o); + exec.exec_loop(cmd, &mut [c1, c2]) +} + pub fn run(se: Arc<Mutex<Session>>, parsed: Ast<PreExpansion>) { se.lock().unwrap().raw.disable(); let result = exec(se.clone(), parsed); @@ -550,6 +565,9 @@ const BUILTINS: &[&'static dyn Builtin] = &[ #[cfg(debug_assertions)] &builtin::debug, &builtin::terminfo, + &builtin::bind, + &builtin::exit, + &builtin::ct, ]; pub fn builtin_map() -> HashMap<BString, &'static dyn Builtin> { |
