#compdef kaiming

emulate -L zsh

local index
(( index = ${(c)#words[0,CURRENT]} + $#PREFIX + 1 ))


local resp=($(kaiming complete "$words" $index "$words[CURRENT]"))

_description options opt_expl option
_description arguments arg_expl argument

local match
for match in $resp; do
  case $match in
    __KAIMING_FILE) _files;;
    __KAIMING_BUNDLE_FILE) _path_files -g '*.kaiming';;
    __KAIMING_BUNDLE_OR_REF_FILE) _path_files -g '*.kaiming(|ref)';;
    __KAIMING_DIR) _path_files -/;;
    -*=) compadd $opt_expl[@] -S "" -- $match;;
    -*) compadd $opt_expl[@] -- $match;;
    *) compadd $arg_expl[@] $match;;
  esac
done

# vim: ft=zsh
