#compdef lynxfetch

# SPDX-FileCopyrightText: 2023 CELESTIFYX Team
# SPDX-License-Identifier: GPL-3.0-or-later

_lynxfetch() {
    local -a args

    args=('(-c --config)'{-c,--config}'[Specify the config file or preset to be loaded]:config file:_files'
        '(-g --generate-config-file)'{-g,--generate-config-file}'[Generate a config file]'
        '(-f --generate-config-force)'{-f,--generate-config-force}'[Generate a config file. Overwrite the existing one]'
        '(-d --distro-override)'{-d,--distro-override}'[Set the logo source]:distro name:(almalinux arch archcraft arcolinux artix asahi asiraos athenaos cachyos centos codex crystal debian devuan elementary endeavouros fedora garuda gentoo kali kaos kiss kubuntu linux linuxlite linuxmint lubuntu manjaro midos miraclelinux mx neon nixos nuros opensuse opensuse_leap opensuse_tumbleweed pardus parrot pikaos pop prismlinux redos rengeos rhel rhinolinux rocky serpent_os slackware snigdhaos solus syntor ubuntu ultramarine vanilla venom void xinux xubuntu zorin)'
        '--logo[Load custom logo from JSON file]:logo file:_files -g "*.json"'
        '--logo-position[Position of the logo relative to system information]:position:(top right left bottom)'
        '(-p --preset)'{-p,--preset}'[Specify a preset configuration to use]:preset name:'
        '--print-font-logo[Print the font logo in the output]'
        '--small-logo[Display a smaller version of the logo]'
        '--only-logo[Show only the logo, without system information]'
        '(-i --image)'{-i,--image}'[Image file to display]:image file:_files -g "*.(png|jpg|jpeg|gif|bmp)"'
        '--image-protocol[Protocol for displaying images]:protocol:(kitty sixel iterm)'
        '--color-resolution[Color resolution for image display]:resolution:(16 32 64 128 256)'
        '--suppress-errors[Suppress error messages in the output]:value:(true false)'
        '--module-override[Override specific module settings]:module settings:'
        '--inline-values[Format output values with a colon]'
        '--benchmark[Run performance benchmarks]'
        '--benchmark-warn[Warn if benchmarks exceed the specified time]:milliseconds:'
        '(-v --version)'{-v,--version}'[Show the full version of lynxfetch]'
        '(-h --help)'{-h,--help}'[Show help information]')

    _arguments -s -S $args
}

_lynxfetch "$@"
