git_stk/commands/
config.rs1use anyhow::Result;
2
3use crate::commands::Run;
4use crate::git;
5use crate::settings::SETTINGS;
6
7#[derive(Debug, clap::Args)]
9pub struct Config {}
10
11impl Run for Config {
12 fn run(self) -> Result<()> {
13 print_config()
14 }
15}
16
17pub fn print_config() -> Result<()> {
20 for (key, default) in SETTINGS {
21 match git::config_get(key)? {
22 Some(value) => println!("{key} = {value}"),
23 None => println!("{key} (default: {default})"),
24 }
25 }
26
27 let metadata = git::config_get_regexp(r"^branch\..*\.stk(parent|base)$")?;
28 if metadata.is_empty() {
29 println!();
30 println!("no branch metadata (no stacked branches)");
31 return Ok(());
32 }
33
34 println!();
35 println!("branch metadata:");
36 for (key, value) in metadata {
37 println!(" {key} = {value}");
38 }
39 Ok(())
40}