aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/src/database.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-client/src/database.rs')
-rw-r--r--crates/atuin-client/src/database.rs17
1 files changed, 7 insertions, 10 deletions
diff --git a/crates/atuin-client/src/database.rs b/crates/atuin-client/src/database.rs
index 408e8e52..28d6c0f0 100644
--- a/crates/atuin-client/src/database.rs
+++ b/crates/atuin-client/src/database.rs
@@ -54,25 +54,22 @@ pub struct OptFilters {
pub include_duplicates: bool,
}
-pub fn current_context() -> Context {
- let Ok(session) = env::var("ATUIN_SESSION") else {
- eprintln!(
- "ERROR: Failed to find $ATUIN_SESSION in the environment. Check that you have correctly set up your shell."
- );
- std::process::exit(1);
- };
+pub async fn current_context() -> eyre::Result<Context> {
+ let session = env::var("ATUIN_SESSION").map_err(|_| {
+ eyre::eyre!("Failed to find $ATUIN_SESSION in the environment. Check that you have correctly set up your shell.")
+ })?;
let hostname = get_host_user();
let cwd = utils::get_current_dir();
- let host_id = Settings::host_id().expect("failed to load host ID");
+ let host_id = Settings::host_id().await?;
let git_root = utils::in_git_repo(cwd.as_str());
- Context {
+ Ok(Context {
session,
hostname,
cwd,
git_root,
host_id: host_id.0.as_simple().to_string(),
- }
+ })
}
fn get_session_start_time(session_id: &str) -> Option<i64> {