#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 "$@"
