summary refs log tree commit diff
path: root/Completion/Unix/Command/_kvno
blob: 9664e187b87b0ff7e0b314d759bfb8ff7c4cf55c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#compdef kvno

local curcontext="$curcontext" state line ret=1

_arguments -C \
  '-c[specify credentials cache to use]:cache:_files' \
  '-e[specify encryption type]:encryption type' \
  '-q[suppress printing]' \
  '(- :)-h[display help information]' \
  '-P[acquire credentials for the principal during S4U2Self]' \
  '-S[specify the service name of the principal]:service' \
  '-U[specify user for S4U2Self]:user:_users' \
  ':principal:->principal' && ret=0

if [[ $state = principal ]]; then
  if compset -P '*/'; then
    _hosts && ret=0
  else
    _alternative \
      'users:user:_users' \
      'services:service:compadd -S/ host' && ret=0
  fi
fi

return ret