change-git-user 1.2.0

Manage multiple git configurations
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::{change_config, Users};
use anyhow::Result;
use console::Term;
use dialoguer::{theme::ColorfulTheme, Select};

pub fn main(users: Users, term: Term, theme: ColorfulTheme) -> Result<()> {
    let keys: Vec<_> = users.keys().collect();

    let selection = Select::with_theme(&theme)
        .with_prompt("Select a git config:")
        .items(&keys)
        .interact_on(&term)?;

    let selection = &users[keys[selection]];

    change_config(&selection)
}