use std::collections::HashMap;
use std::io;
use std::path::PathBuf;
use mg_settings::{EnumMetaData, MetaData, SettingCompletion, Value};
use mg_settings::errors::{Error, Result, SettingError};
use mg_settings::settings;
pub enum DefaultConfig {
Dir(io::Result<PathBuf>),
File(io::Result<PathBuf>, &'static str),
}
#[doc(hidden)]
#[derive(Default)]
pub struct NoSettings;
#[doc(hidden)]
#[derive(Clone)]
pub enum NoSettingsVariant { }
impl settings::Settings for NoSettings {
type Variant = NoSettingsVariant;
fn to_variant(name: &str, _value: Value) -> Result<Self::Variant> {
Err(Error::Setting(SettingError::UnknownSetting(name.to_string())))
}
fn set_value(&mut self, _value: Self::Variant) {
}
}
impl EnumMetaData for NoSettings {
fn get_metadata() -> HashMap<String, MetaData> {
HashMap::new()
}
}
impl SettingCompletion for NoSettings {
fn get_value_completions() -> HashMap<String, Vec<String>> {
HashMap::new()
}
}