From ba0fe21795f3930f4939f91530a2227ee0988155 Mon Sep 17 00:00:00 2001 From: YummyOreo Date: Sun, 10 Mar 2024 12:31:35 -0500 Subject: [PATCH] feat: adds info command to show env vars and config files (#1841) * feat: adds info command to show env vars and config files * fix: clippy * refactor: clippy and format again --- atuin/src/command/client.rs | 10 ++++++++++ atuin/src/command/client/info.rs | 31 +++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 atuin/src/command/client/info.rs diff --git a/atuin/src/command/client.rs b/atuin/src/command/client.rs index 732df7ff..ccd554bf 100644 --- a/atuin/src/command/client.rs +++ b/atuin/src/command/client.rs @@ -17,6 +17,7 @@ mod doctor; mod dotfiles; mod history; mod import; +mod info; mod init; mod kv; mod search; @@ -59,6 +60,10 @@ pub enum Cmd { #[command()] Init(init::Cmd), + /// Information about dotfiles locations and ENV vars + #[command()] + Info, + #[command()] Doctor, @@ -117,6 +122,11 @@ impl Cmd { Self::Init(init) => init.run(&settings).await, + Self::Info => { + info::run(&settings); + Ok(()) + } + Self::Doctor => doctor::run(&settings), Self::DefaultConfig => { diff --git a/atuin/src/command/client/info.rs b/atuin/src/command/client/info.rs new file mode 100644 index 00000000..60ba1fe6 --- /dev/null +++ b/atuin/src/command/client/info.rs @@ -0,0 +1,31 @@ +use atuin_client::settings::Settings; + +use crate::VERSION; + +pub fn run(settings: &Settings) { + let config = atuin_common::utils::config_dir(); + let mut config_file = config.clone(); + config_file.push("config.toml"); + let mut sever_config = config; + sever_config.push("server.toml"); + + let config_paths = format!( + "Config files:\nclient config: {:?}\nserver config: {:?}\nclient db path: {:?}\nkey path: {:?}\nsession path: {:?}", + config_file.to_string_lossy(), + sever_config.to_string_lossy(), + settings.db_path, + settings.key_path, + settings.session_path + ); + + let env_vars = format!( + "Env Vars:\nATUIN_CONFIG_DIR = {:?}", + std::env::var("ATUIN_CONFIG_DIR").unwrap_or_else(|_| "None".into()) + ); + + let general_info = format!("Version info:\nversion: {VERSION}"); + + let print_out = format!("{config_paths}\n\n{env_vars}\n\n{general_info}"); + + println!("{print_out}"); +}