#compdef comp _comp() { _arguments \ '-h[Prints help message]' \ '--help[Prints help message]' \ '-v[Print version]' \ '--version[Print version]' \ '1:file or folder to compress:_files_or_dirs' \ '2:output file:_files' # Custom function to complete both files and directories _files_or_dirs() { _alternative \ 'directories:: _directories' \ 'files:: _files' } }