#compdef scapex

# UUID: cc3ed312-65a4-41d6-be85-2ab57ee7c7a8

help_str='Show help'
verbose_str='Increase verbosity if set'
output_dir_str='Set the output directory \[default = .\]'
generate_str='Generate a TOML template configuration file for input SVG file (instead of exporting)'
fonts_engine_str='Set the font rendering engine \[default = inkscape\]'
fragments_str='Enable fragments exportation (instead of full exportation) \[default = False\]'
no_fragments_str='Disable fragments exportation (set full exportation) \[default = True\]'
completions_zsh_str='Print the path of the directory containing the Zsh autocompletion script (instead of exporting)'

__find_svg() {
  local myargs=($(find . -name "*.svg"))
  compadd "${myargs[@]}"
}

__find_dir() {
  local myargs=($(find . -type d))
  compadd "${myargs[@]}"
}

_scapex() {
  local line

  _arguments -C \
    "-h[$help_str]" \
    "--help[$help_str]" \
    "-v[$verbose_str]" \
    "--verbose[$verbose_str]" \
    "-o[$output_dir_str]:output_dir:__find_dir" \
    "--output-dir[$output_dir_str]:output_dir:__find_dir" \
    "--generate[$generate_str]" \
    "--fonts-engine[$fonts_engine_str]:fonts_engine:(latex inkscape)" \
    "--fragments[$fragments_str]" \
    "--no-fragments[$no_fragments_str]" \
    "--completions-zsh[$completions_zsh_str]" \
    '1:svg_file:__find_svg'
}

_scapex "$@"
