diff options
| author | a-kenji <aks.kenji@protonmail.com> | 2021-04-29 18:09:14 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-29 18:09:14 +0200 |
| commit | b5d38e95c876f231a1c52ab2bcf805f65958d56c (patch) | |
| tree | 8146e3d70b67d3705302e09e81d4bb62d18a31e1 /src | |
| parent | fix(ci): name assets consistently (diff) | |
| parent | Fix Startup with Default in Same Folder (diff) | |
| download | sl0ppij-b5d38e95c876f231a1c52ab2bcf805f65958d56c.tar.gz sl0ppij-b5d38e95c876f231a1c52ab2bcf805f65958d56c.tar.xz sl0ppij-b5d38e95c876f231a1c52ab2bcf805f65958d56c.zip | |
Merge pull request #407 from a-kenji/default-layout
Fix Startup with Default in Same Folder
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/layout.rs | 12 | ||||
| -rw-r--r-- | src/common/mod.rs | 4 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/client/layout.rs b/src/client/layout.rs index e28058ba..ca1adb4d 100644 --- a/src/client/layout.rs +++ b/src/client/layout.rs @@ -205,6 +205,18 @@ impl Layout { layout } + // It wants to use Path here, but that doesn't compile. + #[warn(clippy::ptr_arg)] + pub fn from_defaults(layout_path: &PathBuf, data_dir: &Path) -> Self { + Self::new( + &data_dir + .join("layouts/") + .join(layout_path) + .with_extension("yaml"), + &data_dir, + ) + } + pub fn total_terminal_panes(&self) -> usize { let mut total_panes = 0; total_panes += self.parts.len(); diff --git a/src/common/mod.rs b/src/common/mod.rs index 0a04e3ff..ef518053 100644 --- a/src/common/mod.rs +++ b/src/common/mod.rs @@ -186,8 +186,8 @@ pub fn start(mut os_input: Box<dyn OsApi>, opts: CliArgs) { let default_layout = None; let maybe_layout = opts .layout - .or(default_layout) - .map(|p| Layout::new(&p, &data_dir)); + .map(|p| Layout::new(&p, &data_dir)) + .or_else(|| default_layout.map(|p| Layout::from_defaults(&p, &data_dir))); #[cfg(not(test))] std::panic::set_hook({ |
