summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authora-kenji <aks.kenji@protonmail.com>2021-08-01 20:25:33 +0200
committera-kenji <aks.kenji@protonmail.com>2021-08-01 20:25:33 +0200
commitfc7bc3cc8b8b6e6c652e85bb47424338e7038cbe (patch)
treeeb43e2b04ebe0c26e286bab77d842304ddae596d /src
parent806ffad5539c99380e7c0e423f4c864d8db431e2 (diff)
parent309f4a62bfd11bd1c311d833343625f9bc476114 (diff)
Merge branch 'main' of https://github.com/zellij-org/zellij into tab-layout
Diffstat (limited to 'src')
-rw-r--r--src/main.rs49
1 files changed, 17 insertions, 32 deletions
diff --git a/src/main.rs b/src/main.rs
index 76a44d750..f0d00f77a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -5,16 +5,14 @@ mod tests;
use crate::install::populate_data_dir;
use sessions::{assert_session, assert_session_ne, get_active_session, list_sessions};
-use std::convert::TryFrom;
use std::process;
use zellij_client::{os_input_output::get_client_os_input, start_client, ClientInfo};
use zellij_server::{os_input_output::get_server_os_input, start_server};
use zellij_utils::{
cli::{CliArgs, Command, Sessions},
consts::{ZELLIJ_TMP_DIR, ZELLIJ_TMP_LOG_DIR},
- input::{config::Config, layout::Layout, options::Options},
logging::*,
- setup::{find_default_config_dir, get_default_data_dir, get_layout_dir, Setup},
+ setup::{get_default_data_dir, Setup},
structopt::StructOpt,
};
@@ -26,25 +24,6 @@ pub fn main() {
list_sessions();
}
- let config = match Config::try_from(&opts) {
- Ok(config) => config,
- Err(e) => {
- eprintln!("There was an error in the config file:\n{}", e);
- process::exit(1);
- }
- };
- let config_options = Options::from_cli(&config.options, opts.command.clone());
-
- if let Some(Command::Setup(ref setup)) = opts.command {
- Setup::from_cli(setup, &opts, &config_options).map_or_else(
- |e| {
- eprintln!("{:?}", e);
- process::exit(1);
- },
- |_| {},
- );
- };
-
atomic_create_dir(&*ZELLIJ_TMP_DIR).unwrap();
atomic_create_dir(&*ZELLIJ_TMP_LOG_DIR).unwrap();
if let Some(path) = opts.server {
@@ -75,6 +54,14 @@ pub fn main() {
session_name = Some(get_active_session());
}
+ let (config, _, config_options) = match Setup::from_options(&opts) {
+ Ok(results) => results,
+ Err(e) => {
+ eprintln!("{}", e);
+ process::exit(1);
+ }
+ };
+
start_client(
Box::new(os_input),
opts,
@@ -83,6 +70,14 @@ pub fn main() {
None,
);
} else {
+ let (config, layout, _) = match Setup::from_options(&opts) {
+ Ok(results) => results,
+ Err(e) => {
+ eprintln!("{}", e);
+ process::exit(1);
+ }
+ };
+
let session_name = opts
.session
.clone()
@@ -94,16 +89,6 @@ pub fn main() {
#[cfg(not(disable_automatic_asset_installation))]
populate_data_dir(&data_dir);
- let layout_dir = config_options.layout_dir.or_else(|| {
- get_layout_dir(opts.config_dir.clone().or_else(find_default_config_dir))
- });
- let layout = Layout::from_path_or_default(
- opts.layout.as_ref(),
- opts.layout_path.as_ref(),
- layout_dir,
- )
- .map(|layout| layout.construct_main_layout());
-
start_client(
Box::new(os_input),
opts,