diff options
author | Justin Charette <charetjc@gmail.com> | 2017-04-01 19:30:29 -0400 |
---|---|---|
committer | Joe Wilm <jwilm@users.noreply.github.com> | 2017-04-03 20:46:08 -0700 |
commit | 5b079f6d437c567a1533a719194f6e579a7eedae (patch) | |
tree | 49df82009ea231c7088886f5f4b19b7b9c6c999c | |
parent | 2d1af06c2d17d45e978479f4fc567b706beb1e3e (diff) | |
download | alacritty-5b079f6d437c567a1533a719194f6e579a7eedae.tar.gz alacritty-5b079f6d437c567a1533a719194f6e579a7eedae.zip |
Do not replace $SHELL with --command option
Signed-off-by: Justin Charette <charetjc@gmail.com>
-rw-r--r-- | src/cli.rs | 10 | ||||
-rw-r--r-- | src/tty.rs | 9 |
2 files changed, 10 insertions, 9 deletions
@@ -25,7 +25,7 @@ pub struct Options { pub dimensions: Option<Dimensions>, pub title: String, pub log_level: log::LogLevelFilter, - pub shell: Option<Shell<'static>>, + pub command: Option<Shell<'static>>, } impl Default for Options { @@ -36,7 +36,7 @@ impl Default for Options { dimensions: None, title: DEFAULT_TITLE.to_owned(), log_level: log::LogLevelFilter::Warn, - shell: None, + command: None, } } } @@ -123,7 +123,7 @@ impl Options { // Arg::min_values(1) is set. let command = String::from(args.next().unwrap()); let args = args.map(String::from).collect(); - options.shell = Some(Shell::new_with_args(command, args)); + options.command = Some(Shell::new_with_args(command, args)); } options @@ -133,7 +133,7 @@ impl Options { self.dimensions } - pub fn shell(&self) -> Option<&Shell> { - self.shell.as_ref() + pub fn command(&self) -> Option<&Shell> { + self.command.as_ref() } } @@ -188,12 +188,13 @@ pub fn new<T: ToWinsize>(config: &Config, options: &Options, size: T) -> Pty { let (master, slave) = openpty(win.ws_row as _, win.ws_col as _); let default_shell = &Shell::new(pw.shell); - let shell = options.shell() - .or_else(|| config.shell()) + let shell = config.shell() .unwrap_or(&default_shell); - let mut builder = Command::new(shell.program()); - for arg in shell.args() { + let initial_command = options.command().unwrap_or(&shell); + + let mut builder = Command::new(initial_command.program()); + for arg in initial_command.args() { builder.arg(arg); } |