diff options
Diffstat (limited to 'third_party/rust/suggest/src/config.rs')
-rw-r--r-- | third_party/rust/suggest/src/config.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/third_party/rust/suggest/src/config.rs b/third_party/rust/suggest/src/config.rs new file mode 100644 index 0000000000..fcb3c2e256 --- /dev/null +++ b/third_party/rust/suggest/src/config.rs @@ -0,0 +1,31 @@ +use serde::{Deserialize, Serialize}; + +use crate::rs::{DownloadedGlobalConfig, DownloadedWeatherData}; + +/// Global Suggest configuration data. +#[derive(Clone, Default, Debug, Deserialize, Serialize)] +pub struct SuggestGlobalConfig { + pub show_less_frequently_cap: i32, +} + +impl From<&DownloadedGlobalConfig> for SuggestGlobalConfig { + fn from(config: &DownloadedGlobalConfig) -> Self { + Self { + show_less_frequently_cap: config.configuration.show_less_frequently_cap, + } + } +} + +/// Per-provider configuration data. +#[derive(Clone, Debug, Deserialize, Serialize)] +pub enum SuggestProviderConfig { + Weather { min_keyword_length: i32 }, +} + +impl From<&DownloadedWeatherData> for SuggestProviderConfig { + fn from(data: &DownloadedWeatherData) -> Self { + Self::Weather { + min_keyword_length: data.weather.min_keyword_length, + } + } +} |