diff --git a/src/cli/ahab.rs b/src/cli/ahab.rs index 095aa17..20d9c73 100644 --- a/src/cli/ahab.rs +++ b/src/cli/ahab.rs @@ -1,10 +1,12 @@ use super::{Django, Link, Postgres}; +use clap::builder::styling::{AnsiColor, Effects, Styles}; use clap::{Parser, Subcommand}; use clap_complete::Shell; /// A program for interacting with various dockerized applications #[derive(Parser, Debug)] -#[command(author, version, about, long_about=None)] +#[command(version, about, long_about = None)] +#[command(styles = help_styles())] pub struct Ahab { #[command(subcommand)] pub command: Commands, @@ -43,3 +45,23 @@ pub enum Commands { shell: Shell, }, } + +// clap styles headers bold by default but adds no colour +fn help_styles() -> Styles { + Styles::styled() + .header(AnsiColor::Green.on_default() | Effects::BOLD) + .usage(AnsiColor::Green.on_default() | Effects::BOLD) + .literal(AnsiColor::Cyan.on_default() | Effects::BOLD) + .placeholder(AnsiColor::Cyan.on_default()) +} + +#[cfg(test)] +mod tests { + use super::Ahab; + use clap::CommandFactory; + + #[test] + fn the_command_is_well_formed() { + Ahab::command().debug_assert(); + } +}