Skip to content

Commit

Permalink
fix: resolve setup --clean panic (#1882)
Browse files Browse the repository at this point in the history
Do not use Config::default()

default() has empty plugins config and that does not work with the default layout.
Use Config::try_from() instead, since it already handles the clean flag.
Also, do not check the clean flag twice, it is already handled in Config::try_from.
  • Loading branch information
tlinford authored Oct 31, 2022
1 parent 417b4a4 commit ea86b2f
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 15 deletions.
9 changes: 0 additions & 9 deletions zellij-utils/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,6 @@ pub struct CliArgs {
pub debug: bool,
}

impl CliArgs {
pub fn should_clean_config(&self) -> bool {
match &self.command {
Some(Command::Setup(ref setup)) => setup.clean,
_ => false,
}
}
}

#[derive(Debug, Subcommand, Clone, Serialize, Deserialize)]
pub enum Command {
/// Change the behaviour of zellij
Expand Down
7 changes: 1 addition & 6 deletions zellij-utils/src/setup.rs
Original file line number Diff line number Diff line change
Expand Up @@ -211,14 +211,9 @@ impl Setup {
/// (`layout.yaml` / `zellij --layout`)
/// 3. config options (`config.yaml`)
pub fn from_cli_args(cli_args: &CliArgs) -> Result<(Config, Layout, Options), ConfigError> {
let clean = cli_args.should_clean_config();
// note that this can potentially exit the process
Setup::handle_setup_commands(cli_args);
let config = if clean {
Config::default()
} else {
Config::try_from(cli_args)?
};
let config = Config::try_from(cli_args)?;
let cli_config_options: Option<Options> =
if let Some(Command::Options(options)) = cli_args.command.clone() {
Some(options.into())
Expand Down

0 comments on commit ea86b2f

Please sign in to comment.