aboutsummaryrefslogtreecommitdiffstats
path: root/crates/client/src/command/client/info.rs
blob: c4839c38fc50a91a5a9fbba9be4fb5de900d7f77 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
use crate::atuin_client::settings::Settings;
use crate::{SHA, VERSION};

use eyre::Result;
use turtle::client::ControlClient;

pub(crate) async fn run(settings: &Settings) -> Result<()> {
    let config = turtle_common::utils::config_dir();

    let mut client = ControlClient::new(settings.daemon.socket_path.clone()).await?;
    let paths = client.paths().await?;

    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:
           client config: {:?}
           server config: {:?}
           deamon config: {:?}
           deamon db path: {:?}
           deamon socket path: {:?}\
        ",
        config_file.to_string_lossy(),
        sever_config.to_string_lossy(),
        paths.config,
        paths.db,
        paths.socket,
    );

    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}\ncommit:  {SHA}");

    let print_out = format!("{config_paths}\n\n{env_vars}\n\n{general_info}");

    println!("{print_out}");

    Ok(())
}