Skip to main content

Module args

Module args 

Source
Expand description

Shared argument types and groups for the BLZ CLI.

This module provides reusable argument definitions that can be composed across multiple commands using clap’s #[command(flatten)] attribute.

§Design Philosophy

Rather than duplicating argument definitions across commands, shared argument groups ensure:

  • Consistent flag names and help text
  • Reduced code duplication
  • Easier maintenance and updates

§Available Types

§Core Types

  • Verbosity - Output verbosity level (quiet/normal/verbose/debug)

§Argument Groups

§Examples

use blz_cli::args::{ContextArgs, OutputArgs, PaginationArgs, Verbosity};
use clap::{Args, Parser};

#[derive(Parser)]
struct SearchCommand {
    /// Search query
    query: String,

    #[command(flatten)]
    pagination: PaginationArgs,

    #[command(flatten)]
    context: ContextArgs,

    #[command(flatten)]
    output: OutputArgs,
}

Structs§

ContextArgs
Shared context arguments for commands that retrieve content.
OutputArgs
Shared output format arguments for commands that produce formatted output.
PaginationArgs
Shared pagination arguments for commands that support limiting results.

Enums§

ContextMode
Context mode for result expansion.
OutputFormat
Output format for CLI results.
Verbosity
Verbosity level for CLI output.