aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/src/logout.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-client/src/logout.rs')
-rw-r--r--crates/atuin-client/src/logout.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/crates/atuin-client/src/logout.rs b/crates/atuin-client/src/logout.rs
new file mode 100644
index 00000000..fe1a4d23
--- /dev/null
+++ b/crates/atuin-client/src/logout.rs
@@ -0,0 +1,17 @@
+use eyre::{Context, Result};
+use fs_err::remove_file;
+
+use crate::settings::Settings;
+
+pub fn logout(settings: &Settings) -> Result<()> {
+ let session_path = settings.session_path.as_str();
+
+ if settings.logged_in() {
+ remove_file(session_path).context("Failed to remove session file")?;
+ println!("You have logged out!");
+ } else {
+ println!("You are not logged in");
+ }
+
+ Ok(())
+}