mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-07 11:41:16 +02:00
38986: new gsettings completion
This commit is contained in:
parent
f70615d878
commit
7d282fa588
2 changed files with 51 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
2016-08-03 Oliver Kiddle <opk@zsh.org>
|
||||
|
||||
* 38986: Completion/Unix/Command/_gsettings: new completion
|
||||
|
||||
2016-08-01 Daniel Shahaf <d.s@daniel.shahaf.name>
|
||||
|
||||
* 38981: Completion/Unix/Command/_man: Followup to 37634:
|
||||
|
|
47
Completion/Unix/Command/_gsettings
Normal file
47
Completion/Unix/Command/_gsettings
Normal file
|
@ -0,0 +1,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;;
|
||||
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 '*:'; 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
|
Loading…
Reference in a new issue