fix(kdl): new-tab keybind looks in layout_dir for layouts (#2200)

* fix(themes): missing tokyo-night-dark theme

* fix(kdl): new-tab keybind also looks in layout_dir for layouts
This commit is contained in:
Jae-Heon Ji 2023-02-27 21:27:59 +09:00 committed by GitHub
parent 02e963fd59
commit dc7515f6c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,6 +7,7 @@ use crate::input::layout::{Layout, RunPlugin, RunPluginLocation};
use crate::input::options::{Clipboard, OnForceClose, Options}; use crate::input::options::{Clipboard, OnForceClose, Options};
use crate::input::plugins::{PluginConfig, PluginTag, PluginType, PluginsConfig}; use crate::input::plugins::{PluginConfig, PluginTag, PluginType, PluginsConfig};
use crate::input::theme::{FrameConfig, Theme, Themes, UiConfig}; use crate::input::theme::{FrameConfig, Theme, Themes, UiConfig};
use crate::setup::{find_default_config_dir, get_layout_dir};
use kdl_layout_parser::KdlLayoutParser; use kdl_layout_parser::KdlLayoutParser;
use std::collections::HashMap; use std::collections::HashMap;
use std::fs::File; use std::fs::File;
@ -770,8 +771,12 @@ impl TryFrom<(&KdlNode, &Options)> for Action {
.and_then(|c_m| kdl_child_string_value_for_entry(c_m, "name")) .and_then(|c_m| kdl_child_string_value_for_entry(c_m, "name"))
.map(|name_string| name_string.to_string()); .map(|name_string| name_string.to_string());
let layout_dir = config_options
.layout_dir
.clone()
.or_else(|| get_layout_dir(find_default_config_dir()));
let (path_to_raw_layout, raw_layout, swap_layouts) = let (path_to_raw_layout, raw_layout, swap_layouts) =
Layout::stringified_from_path_or_default(layout.as_ref(), None).map_err( Layout::stringified_from_path_or_default(layout.as_ref(), layout_dir).map_err(
|e| { |e| {
ConfigError::new_kdl_error( ConfigError::new_kdl_error(
format!("Failed to load layout: {}", e), format!("Failed to load layout: {}", e),