aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Linford <tlinford@users.noreply.github.com>2022-10-31 16:37:45 +0100
committerGitHub <noreply@github.com>2022-10-31 16:37:45 +0100
commitea86b2f4bc20501cdba87f1482b8dad52b4c9957 (patch)
treead4cbd33cff2995159df1b92e2b1f79e5cc4ed0e
parenterrors: Don't unwrap in `zellij_server::output` (#1878) (diff)
downloadsl0ppij-ea86b2f4bc20501cdba87f1482b8dad52b4c9957.tar.gz
sl0ppij-ea86b2f4bc20501cdba87f1482b8dad52b4c9957.tar.xz
sl0ppij-ea86b2f4bc20501cdba87f1482b8dad52b4c9957.zip
fix: resolve setup --clean panic (#1882)
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.
-rw-r--r--zellij-utils/src/cli.rs9
-rw-r--r--zellij-utils/src/setup.rs7
2 files changed, 1 insertions, 15 deletions
diff --git a/zellij-utils/src/cli.rs b/zellij-utils/src/cli.rs
index 6f0ac59a..f860f05f 100644
--- a/zellij-utils/src/cli.rs
+++ b/zellij-utils/src/cli.rs
@@ -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
diff --git a/zellij-utils/src/setup.rs b/zellij-utils/src/setup.rs
index a4b3e202..3bce5237 100644
--- a/zellij-utils/src/setup.rs
+++ b/zellij-utils/src/setup.rs
@@ -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())