codeberg-cli 0.5.5

CLI Tool for codeberg similar to gh and glab
Documentation
use inquire::{Text, validator::Validation};

pub fn mk_color_validator<'a>(prompt: Text<'a, 'a>) -> Text<'a, 'a> {
    prompt
        .with_help_message("(format: #xxxxxx)")
        .with_validator(|color: &str| {
            Ok(
                if color.len() == 7
                    && color.starts_with('#')
                    && color
                        .chars()
                        .skip(1)
                        .take(6)
                        .filter(|digit| digit.is_ascii_hexdigit())
                        .count()
                        == 6
                {
                    Validation::Valid
                } else {
                    Validation::Invalid("Not a color: format <#XXXXXX>".into())
                },
            )
        })
}