use config::define_config; use config_derive::ConfigOption; use serde::{Deserialize, Serialize}; use std::path::PathBuf; define_config! { Language(Language), MusicPath(MusicPath), PlaylistDatabasePath(PlaylistDatabasePath), } #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, ConfigOption)] pub struct Language(String); impl std::ops::Deref for Language { type Target = String; fn deref(&self) -> &Self::Target { &self.0 } } #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, ConfigOption)] pub struct MusicPath(PathBuf); impl std::ops::Deref for MusicPath { type Target = PathBuf; fn deref(&self) -> &Self::Target { &self.0 } } #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, ConfigOption)] pub struct PlaylistDatabasePath(PathBuf); impl std::ops::Deref for PlaylistDatabasePath { type Target = PathBuf; fn deref(&self) -> &Self::Target { &self.0 } }