summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYummyOreo <bobgim20@gmail.com>2024-03-10 12:31:35 -0500
committerGitHub <noreply@github.com>2024-03-10 17:31:35 +0000
commitba0fe21795f3930f4939f91530a2227ee0988155 (patch)
tree5b6fe72daaf64e2d3cf8567fc501f25d063e1cc7
parenta3c3dad9005c6ab2e9965632779da613d7a36f17 (diff)
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
-rw-r--r--atuin/src/command/client.rs10
-rw-r--r--atuin/src/command/client/info.rs31
2 files changed, 41 insertions, 0 deletions
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}");
+}