diff --git a/crates/terminal/src/terminal.rs b/crates/terminal/src/terminal.rs index 7a8f4f89ee0e8f06d19a4c643a0a960bbe622399..aa075154627e6e68f4068778b590943860d860e5 100644 --- a/crates/terminal/src/terminal.rs +++ b/crates/terminal/src/terminal.rs @@ -378,31 +378,40 @@ impl TerminalBuilder { title_override: Option, } + impl ShellParams { + fn new( + program: String, + args: Option>, + title_override: Option, + ) -> Self { + log::info!("Using {program} as shell"); + Self { + program, + args, + title_override, + } + } + } + let shell_params = match shell.clone() { Shell::System => { #[cfg(target_os = "windows")] { - Some(ShellParams { - program: util::get_windows_system_shell(), - ..Default::default() - }) + Some(ShellParams::new( + util::get_windows_system_shell(), + None, + None, + )) } #[cfg(not(target_os = "windows"))] None } - Shell::Program(program) => Some(ShellParams { - program, - ..Default::default() - }), + Shell::Program(program) => Some(ShellParams::new(program, None, None)), Shell::WithArguments { program, args, title_override, - } => Some(ShellParams { - program, - args: Some(args), - title_override, - }), + } => Some(ShellParams::new(program, Some(args), title_override)), }; let terminal_title_override = shell_params.as_ref().and_then(|e| e.title_override.clone());