aboutsummaryrefslogtreecommitdiffstats
path: root/atuin-client/src
diff options
context:
space:
mode:
authorConrad Ludgate <conradludgate@gmail.com>2021-11-17 11:50:34 +0000
committerGitHub <noreply@github.com>2021-11-17 11:50:34 +0000
commitf539f60ae420f9ac8ae6dd4a82b13c505bc9005a (patch)
treef18fc332ea2be2fd48fed8969a31a855402f6f43 /atuin-client/src
parentBump reqwest from 0.11.3 to 0.11.6 (#192) (diff)
downloadatuin-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.rs19
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")?;