zsh-workers
 help / color / mirror / code / Atom feed
890b564036eb09a35819fb65c6b2c253bd7fa3b6 blob 1283 bytes (raw)

 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
#compdef gsettings

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

_arguments \
  '(- 1 *)--version[show version information]' \
  '--schemadir[specify location of schemata]:directory:_directories' \
  ':command:->subcmds' \
  '*::args:->subargs' && ret=0

if [[ $state = subargs ]]; then
  curcontext="${curcontext%:*}-$words[1]:"
  case $words[1] in
    help) state=subcmds;;
    describe|get|range|reset|writable|monitor)
      _arguments ':schema:->schemata' ':key:->keys'
    ;;
    set)
      _arguments ':schema:->schemata' ':key:->keys' ':value'
    ;;
    (list|reset)-(keys|recursively|children)) state=schemata ;;
    *) _default && ret=0 ;;
  esac
fi

case $state in
  subcmds)
    subcmds=( ${(L)${${(M)${${(f)"$(_call_program commands $service help)"}[(r)Commands:*,-2]}:#  *}#??}/ ##/:} )
    _describe -t commands 'command' subcmds -M 'r:?|-=* r:|=*' && ret=0
    state=''
  ;;
  schemata)
    if compset -P 1 '*:'; then
      _directories && ret=0
    else
      _wanted schemata expl 'schema' compadd -M 'r:|.=* r:|=*' \
          $(_call_program schemata $service list-schemas) && ret=0
    fi
  ;;
  keys)
    _wanted keys expl 'key' compadd \
        $(_call_program keys $service list-keys $words[CURRENT-1]) && ret=0
  ;;
esac

return ret
debug log:

solving 890b56403 ...
found 890b56403 in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).