#compdef jexec

_jexec_normal() {
  local PATH=$PATH
  local -a _comp_priv_prefix
  # relative paths are relative to the jail's root
  path=( "$(_call_program paths jls -j $words[1] path)"/$^path )
  shift 1 words; (( CURRENT-- ))
  _normal -p $service
}

_jexec() {
  _arguments -s -S -A "-*" : \
    '-l[execute in a clean environment]' \
    '-d+[specify working directory inside the jail]: :_directories' \
    '(-U)-u+[host environment user whom command runs as]:host user:_users' \
    '(-u)-U+[jail environment user whom command runs as]:jail user:_users' \
    '1:jail:_jails' \
    '*:: : _jexec_normal'
}

_jexec "$@"
