diff options
Diffstat (limited to 'crates/atuin-client')
| -rw-r--r-- | crates/atuin-client/src/lib.rs | 1 | ||||
| -rw-r--r-- | crates/atuin-client/src/logout.rs | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/crates/atuin-client/src/lib.rs b/crates/atuin-client/src/lib.rs index 89e2dca5..a6842038 100644 --- a/crates/atuin-client/src/lib.rs +++ b/crates/atuin-client/src/lib.rs @@ -14,6 +14,7 @@ pub mod history; pub mod import; pub mod kv; pub mod login; +pub mod logout; pub mod ordering; pub mod record; pub mod register; 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(()) +} |
