Ignore hidden files when loading configs and make error more explicit. Fix #234
This commit is contained in:
parent
eab0a59f64
commit
7907980447
|
@ -267,6 +267,7 @@ impl Configs {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
eprintln!("Error: Cannot load file {:?}", path);
|
||||||
Err(ConfigLoadError::FileNotFound)
|
Err(ConfigLoadError::FileNotFound)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -377,6 +378,11 @@ impl ConfigSet {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Skip hidden files
|
||||||
|
if path.file_name().unwrap_or_default().to_str().unwrap_or_default().starts_with(".") {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
let mut config = Configs::load_config(&path)?;
|
let mut config = Configs::load_config(&path)?;
|
||||||
|
|
||||||
// Make sure the config does not contain reserved fields
|
// Make sure the config does not contain reserved fields
|
||||||
|
@ -952,6 +958,32 @@ mod tests {
|
||||||
assert_eq!(config_set.specific.len(), 0);
|
assert_eq!(config_set.specific.len(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_hidden_files_are_ignored() {
|
||||||
|
let (data_dir, package_dir) = create_temp_espanso_directories_with_default_content(
|
||||||
|
r###"
|
||||||
|
matches:
|
||||||
|
- trigger: ":lol"
|
||||||
|
replace: "LOL"
|
||||||
|
- trigger: ":yess"
|
||||||
|
replace: "Bob"
|
||||||
|
"###
|
||||||
|
);
|
||||||
|
|
||||||
|
create_user_config_file(data_dir.path(), ".specific.yml", r###"
|
||||||
|
name: specific1
|
||||||
|
|
||||||
|
exclude_default_entries: true
|
||||||
|
|
||||||
|
matches:
|
||||||
|
- trigger: "hello"
|
||||||
|
replace: "newstring"
|
||||||
|
"###);
|
||||||
|
|
||||||
|
let config_set = ConfigSet::load(data_dir.path(), package_dir.path()).unwrap();
|
||||||
|
assert_eq!(config_set.specific.len(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_config_set_no_parent_configs_works_correctly() {
|
fn test_config_set_no_parent_configs_works_correctly() {
|
||||||
let (data_dir, package_dir) = create_temp_espanso_directories();
|
let (data_dir, package_dir) = create_temp_espanso_directories();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user