From 20afcd2b633791c932651e04e340334dabb3ed4e Mon Sep 17 00:00:00 2001 From: Tobias Genannt Date: Thu, 12 Oct 2023 23:13:50 +0200 Subject: Add commands to print the default configuration (#1241) * Add commands to print the default configuration When updating a software I often want to compare my configuration with the configuration of the new version. To make this possible atuin can now print the default configuration. This also updates the example files with the actual values used as default in the settings.rs files. * Changed command name to 'default-config' * Fixed merge --- atuin-server/src/lib.rs | 1 + atuin-server/src/settings.rs | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'atuin-server/src') diff --git a/atuin-server/src/lib.rs b/atuin-server/src/lib.rs index 810b7db9..007ad5c9 100644 --- a/atuin-server/src/lib.rs +++ b/atuin-server/src/lib.rs @@ -14,6 +14,7 @@ mod router; mod settings; mod utils; +pub use settings::example_config; pub use settings::Settings; use tokio::signal; diff --git a/atuin-server/src/settings.rs b/atuin-server/src/settings.rs index 7e447e9e..744f4ec2 100644 --- a/atuin-server/src/settings.rs +++ b/atuin-server/src/settings.rs @@ -5,6 +5,8 @@ use eyre::{eyre, Result}; use fs_err::{create_dir_all, File}; use serde::{de::DeserializeOwned, Deserialize, Serialize}; +static EXAMPLE_CONFIG: &str = include_str!("../server.toml"); + #[derive(Clone, Debug, Deserialize, Serialize)] pub struct Settings { pub host: String, @@ -56,10 +58,9 @@ impl Settings { FileFormat::Toml, )) } else { - let example_config = include_bytes!("../server.toml"); create_dir_all(config_file.parent().unwrap())?; let mut file = File::create(config_file)?; - file.write_all(example_config)?; + file.write_all(EXAMPLE_CONFIG.as_bytes())?; config_builder }; @@ -71,3 +72,7 @@ impl Settings { .map_err(|e| eyre!("failed to deserialize: {}", e)) } } + +pub fn example_config() -> &'static str { + EXAMPLE_CONFIG +} -- cgit v1.3.1