dim/dim_plugins/volume/src/config.rs
2024-06-23 14:16:03 +03:00

38 lines
809 B
Rust

use std::path::Path;
use anyhow::Result;
use serde::Deserialize;
const DEFAULT_CFG: &'static str = include_str!("../config.template.toml");
#[derive(Debug, Deserialize, Clone)]
pub struct Config {
pub commands: ConfigCommands,
}
#[derive(Debug, Deserialize, Clone)]
pub struct ConfigCommands {
pub get_volume: String,
pub get_volume_regex: String,
}
impl Config {
pub fn parse(p: &Path) -> Result<Self> {
if !p.exists() {
std::fs::write(p, DEFAULT_CFG)?;
}
let c = std::fs::read_to_string(p)?;
Ok(toml::from_str(c.as_str())?)
}
pub fn default() -> Self {
Self {
commands: ConfigCommands {
get_volume: String::new(),
get_volume_regex: String::new()
}
}
}
}