diff options
| author | Conrad Ludgate <conradludgate@gmail.com> | 2021-11-17 11:50:34 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-17 11:50:34 +0000 |
| commit | f539f60ae420f9ac8ae6dd4a82b13c505bc9005a (patch) | |
| tree | f18fc332ea2be2fd48fed8969a31a855402f6f43 /atuin-client/src | |
| parent | Bump reqwest from 0.11.3 to 0.11.6 (#192) (diff) | |
| download | atuin-f539f60ae420f9ac8ae6dd4a82b13c505bc9005a.zip | |
chore: add more eyre contexts (#200)
* chore: add more eyre contexts
* chore: rustfmt
Diffstat (limited to 'atuin-client/src')
| -rw-r--r-- | atuin-client/src/settings.rs | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/atuin-client/src/settings.rs b/atuin-client/src/settings.rs index 407013f0..8793b73e 100644 --- a/atuin-client/src/settings.rs +++ b/atuin-client/src/settings.rs @@ -5,7 +5,7 @@ use std::path::{Path, PathBuf}; use chrono::prelude::*; use chrono::Utc; use config::{Config, Environment, File as ConfigFile}; -use eyre::{eyre, Result}; +use eyre::{eyre, Context, Result}; use parse_duration::parse; pub const HISTORY_PAGE_SIZE: i64 = 100; @@ -105,8 +105,10 @@ impl Settings { let data_dir = atuin_common::utils::data_dir(); - create_dir_all(&config_dir)?; - create_dir_all(&data_dir)?; + create_dir_all(&config_dir) + .wrap_err_with(|| format!("could not create dir {:?}", config_dir))?; + create_dir_all(&data_dir) + .wrap_err_with(|| format!("could not create dir {:?}", data_dir))?; let mut config_file = if let Ok(p) = std::env::var("ATUIN_CONFIG_DIR") { PathBuf::from(p) @@ -134,14 +136,17 @@ impl Settings { s.set_default("search_mode", "prefix")?; if config_file.exists() { - s.merge(ConfigFile::with_name(config_file.to_str().unwrap()))?; + s.merge(ConfigFile::with_name(config_file.to_str().unwrap())) + .wrap_err_with(|| format!("could not load config file {:?}", config_file))?; } else { let example_config = include_bytes!("../config.toml"); - let mut file = File::create(config_file)?; - file.write_all(example_config)?; + let mut file = File::create(config_file).wrap_err("could not create config file")?; + file.write_all(example_config) + .wrap_err("could not write default config file")?; } - s.merge(Environment::with_prefix("atuin").separator("_"))?; + s.merge(Environment::with_prefix("atuin").separator("_")) + .wrap_err("could not load environment")?; // all paths should be expanded let db_path = s.get_str("db_path")?; |
