70 lines
1.3 KiB
Plaintext
70 lines
1.3 KiB
Plaintext
#compdef apt-manage
|
|
typeset -A opt_args
|
|
|
|
typeset -A opt_args
|
|
|
|
_arguments -C \
|
|
'1:cmd:->cmds' \
|
|
'2:sources:->source_lists' \
|
|
'*:: :->args' \
|
|
&& ret=0
|
|
|
|
case "$state" in
|
|
(cmds)
|
|
local commands; commands=(
|
|
'add'
|
|
'list'
|
|
'modify'
|
|
'remove'
|
|
'key'
|
|
)
|
|
_describe -t commands 'command' commands && ret=0
|
|
;;
|
|
(source_lists)
|
|
local sources
|
|
sources=( $(apt-manage list -n))
|
|
_describe -t sources 'source' sources && ret=0
|
|
;;
|
|
(args)
|
|
local arguments
|
|
arguments=(
|
|
# Main command
|
|
'--help'
|
|
# Add subcommand
|
|
'--disable'
|
|
'--source-code'
|
|
'--terse'
|
|
'--name'
|
|
'--identifier'
|
|
'--format'
|
|
'--skip-keys'
|
|
# Key Ssbcommand
|
|
'--path'
|
|
'--url'
|
|
'--ascii'
|
|
'--fingerprint'
|
|
'--keyserver'
|
|
'--remove'
|
|
# List subcommand
|
|
'--legacy'
|
|
'--verbose'
|
|
'--all'
|
|
'--file-names'
|
|
# Modify subcommand
|
|
'--enable'
|
|
'--source-enable'
|
|
'--source-disable'
|
|
'--add-uri'
|
|
'--add-suite'
|
|
'--add-component'
|
|
'--remove-uri'
|
|
'--remove-suite'
|
|
'--remove-component'
|
|
# Remove subcommand
|
|
'--assume-yes'
|
|
)
|
|
_describe -t arguments 'argument' arguments && ret=0
|
|
;;
|
|
esac
|
|
|
|
return 1 |