mirror of
https://github.com/TECHNOFAB11/pay-respects.git
synced 2025-12-12 06:20:09 +01:00
feat: system rule files
This commit is contained in:
parent
b3f963738b
commit
7616ca183f
1 changed files with 15 additions and 3 deletions
|
|
@ -20,14 +20,26 @@ pub fn runtime_match(
|
|||
) -> Option<String> {
|
||||
let xdg_config_home = std::env::var("XDG_CONFIG_HOME")
|
||||
.unwrap_or_else(|_| std::env::var("HOME").unwrap() + "/.config");
|
||||
let rule_dir = format!("{}/pay-respects/rules", xdg_config_home);
|
||||
let xdg_config_dirs = std::env::var("XDG_CONFIG_DIRS").unwrap_or("/etc/xdg".to_owned());
|
||||
|
||||
let file = format!("{}/{}.toml", rule_dir, executable);
|
||||
let user_rule_dir = format!("{}/pay-respects/rules", xdg_config_home);
|
||||
let system_rule_dir = format!("{}/pay-respects/rules", xdg_config_dirs);
|
||||
|
||||
if !std::path::Path::new(&file).exists() {
|
||||
|
||||
let user_rule_file = format!("{}/{}.toml", user_rule_dir, executable);
|
||||
let system_rule_file = format!("{}/{}.toml", system_rule_dir, executable);
|
||||
|
||||
let file;
|
||||
|
||||
if std::path::Path::new(&user_rule_file).exists() {
|
||||
file = user_rule_file;
|
||||
} else if std::path::Path::new(&system_rule_file).exists() {
|
||||
file = system_rule_file;
|
||||
} else {
|
||||
return None;
|
||||
}
|
||||
|
||||
|
||||
let file = std::fs::read_to_string(file).unwrap();
|
||||
let rule: Rule = toml::from_str(&file).unwrap();
|
||||
let split_command = split_command(&last_command);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue