#compdef storageshower

_storageshower() {
    local -a args
    args=(
        # Sorting
        '(-s --sort)'{-s,--sort}'[Sort mode for disk entries]:mode:(name pct size)'
        '(-R --reverse --no-reverse)'{-R,--reverse}'[Reverse sort order]'
        '(-R --reverse --no-reverse)--no-reverse[Do not reverse sort order]'
        '(-l --local-only --no-local)'{-l,--local-only}'[Show only local disks (HDD/SSD)]'
        '(-l --local-only --no-local)--no-local[Show all disks (not just local)]'
        '(--no-virtual --virtual)--no-virtual[Hide virtual filesystems]'
        '(--no-virtual --virtual)--virtual[Show virtual filesystems]'

        # Display
        '(-b --bar-style)'{-b,--bar-style}'[Bar visualization style]:style:(gradient solid thin ascii)'
        '--color[Color palette]:palette:(default green blue purple amber cyan red sakura matrix sunset neonnoir chromeheart bladerunner voidwalker toxicwaste cyberfrost plasmacore steelnerve darksignal glitchpop holoshift nightcity deepnet lasergrid quantumflux biohazard darkwave overlock megacorp zaibatsu)'
        '--list-colors[List all builtin color schemes with preview]'
        '--export-theme[Export current palette as TOML]'
        '--theme[Activate a custom theme by name]:name:'
        '(-u --units)'{-u,--units}'[Unit display mode]:mode:(human gib mib bytes)'
        '(-k --compact --no-compact)'{-k,--compact}'[Compact mount names]'
        '(-k --compact --no-compact)--no-compact[Do not compact mount names]'
        '(-f --full-mount --no-full-mount)'{-f,--full-mount}'[Show full mount paths]'
        '(-f --full-mount --no-full-mount)--no-full-mount[Do not show full mount paths]'
        '(--bars --no-bars)--bars[Show usage bars]'
        '(--bars --no-bars)--no-bars[Hide usage bars]'
        '(--border --no-border)--border[Show border chrome]'
        '(--border --no-border)--no-border[Hide border chrome]'
        '(--header --no-header)--header[Show column headers]'
        '(--header --no-header)--no-header[Hide column headers]'
        '(--used --no-used)--used[Show used/total size display]'
        '(--used --no-used)--no-used[Hide used/total size display]'

        # Thresholds
        '(-w --warn)'{-w,--warn}'[Warning threshold percentage]:pct:'
        '(-C --crit)'{-C,--crit}'[Critical threshold percentage]:pct:'

        # Columns
        '--col-mount[Mount column width (0 = auto)]:width:'
        '--col-bar-end[Bar-end column width (0 = auto)]:width:'
        '--col-pct[Percentage column width (0 = auto)]:width:'

        # System
        '(-r --refresh)'{-r,--refresh}'[Data refresh interval in seconds]:secs:'
        '(-c --config)'{-c,--config}'[Config file path]:path:_files'
        '(-h --help)'{-h,--help}'[Display help]'
        '(-V --version)'{-V,--version}'[Display version information]'
    )

    _arguments -s -S $args
}

_storageshower "$@"
