mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-02 10:01:11 +02:00
29690: new _twidge and _cryptsetup completers from Daniel Friesel.
This commit is contained in:
parent
7ae7996614
commit
2a79494070
5 changed files with 187 additions and 1 deletions
|
@ -8,6 +8,10 @@
|
|||
|
||||
* 29683: Completion/Unix/Command/_ssh: add -O forward to _ssh.
|
||||
|
||||
* Daniel Friesel: 29690: Completion/Linux/Command/_cryptsetup,
|
||||
Completion/Unix/Command/_twidge: new _twidge and _cryptsetup
|
||||
completers.
|
||||
|
||||
2011-08-16 Wayne Davison <wayned@users.sourceforge.net>
|
||||
|
||||
* 29650: Src/jobs.c: don't lose the the time info after a
|
||||
|
@ -15280,5 +15284,5 @@
|
|||
|
||||
*****************************************************
|
||||
* This is used by the shell to define $ZSH_PATCHLEVEL
|
||||
* $Revision: 1.5434 $
|
||||
* $Revision: 1.5435 $
|
||||
*****************************************************
|
||||
|
|
|
@ -5,6 +5,7 @@ _acpitool
|
|||
_analyseplugin
|
||||
_brctl
|
||||
_chrt
|
||||
_cryptsetup
|
||||
_ethtool
|
||||
_fusermount
|
||||
_ionice
|
||||
|
|
103
Completion/Linux/Command/_cryptsetup
Normal file
103
Completion/Linux/Command/_cryptsetup
Normal file
|
@ -0,0 +1,103 @@
|
|||
#compdef cryptsetup
|
||||
## completion for cryptsetup 1.3.0, based on cryptsetup(1)
|
||||
|
||||
function _cryptsetup_action {
|
||||
typeset -a actions
|
||||
actions=(
|
||||
'create:create a mapping'
|
||||
'remove:remove an existing mapping'
|
||||
'status:report mapping status'
|
||||
'resize:resize an active mapping'
|
||||
'luksFormat:Initialize a LUKS partition'
|
||||
'luksOpen:Open LUKS partition'
|
||||
'luksClose:remove an existing mapping'
|
||||
'luksSuspend:suspend active device'
|
||||
'luksResume:resume suspended device'
|
||||
'luksAddKey:add a new key'
|
||||
'luksRemoveKey:remove a key'
|
||||
'luksChangeKey:change a key'
|
||||
'luksKillSlot:wipe key from slot'
|
||||
'luksUUID:print/change device UUID'
|
||||
'isLuks:check if device is a LUKS partition'
|
||||
'luksDump:dump header information'
|
||||
'luksHeaderBackup:store binary backup of headers'
|
||||
'luksHeaderRestore:restore header backup'
|
||||
)
|
||||
_describe action actions
|
||||
}
|
||||
|
||||
function _cryptsetup_device {
|
||||
typeset expl
|
||||
_wanted file expl device \
|
||||
_files
|
||||
}
|
||||
|
||||
function _cryptsetup_mapping {
|
||||
typeset expl
|
||||
_wanted file expl 'mapping name' \
|
||||
_path_files -W /dev/mapper
|
||||
}
|
||||
|
||||
function _cryptsetup_arguments {
|
||||
|
||||
case ${words[1]} in
|
||||
|
||||
create)
|
||||
_arguments ':mapping:_cryptsetup_mapping' ':device:_cryptsetup_device'
|
||||
;;
|
||||
|
||||
remove|status|resize|luksClose|luksSuspend|luksResume)
|
||||
_arguments ': :_cryptsetup_mapping'
|
||||
;;
|
||||
|
||||
luks(AddKey|RemoveKey|DelKey|UUID|Dump)|isLuks)
|
||||
_arguments ': :_cryptsetup_device'
|
||||
;;
|
||||
|
||||
luks(Format|AddKey|RemoveKey|ChangeKey))
|
||||
_arguments ': :_cryptsetup_device' ':key file:_files'
|
||||
;;
|
||||
|
||||
luksKillSlot)
|
||||
_arguments ': :_cryptsetup_device' ':key slot number'
|
||||
;;
|
||||
|
||||
luksOpen)
|
||||
_arguments ': :_cryptsetup_device' ': :_cryptsetup_mapping'
|
||||
;;
|
||||
|
||||
esac
|
||||
}
|
||||
|
||||
function _cryptsetup {
|
||||
_arguments \
|
||||
'(-v --verbose)'{-v,--verbose}'[enable verbose mode]' \
|
||||
'--debug[enable debug mode]' \
|
||||
'(-h --hash)'{-h,--hash}'[hash algorithm]:hash algorithm' \
|
||||
'(-c --cipher)'{-c,--cipher}'[set cipher]:cipher specification' \
|
||||
'(-y --verify-passphrase)'{-y,--verify-passphrase}'[query for password twice]' \
|
||||
'(-d --key-file)'{-d,--key-file}'[set keyfile]:key file:_files' \
|
||||
'(-l --keyfile-size)'{-l,--keyfile-size}'[set keyfile size]:bytes' \
|
||||
'--new-keyfile-size[set new keyfile size (luksAddKey)]:bytes' \
|
||||
'--master-key-file[set master key]:key file:_files' \
|
||||
'--dump-master-key[dump luks master key]' \
|
||||
'(--use-urandom)--use-random[use /dev/random to generate volume key]' \
|
||||
'(--use-random)--use-urandom[use /dev/urandom to generate volume key]' \
|
||||
'(-S --key-slot)'{-S,--key-slot}'[select key slot]:key slot' \
|
||||
'(-s --key-size)'{-s,--key-size}'[set key size]:bits' \
|
||||
'(-b --size)'{-b,--size}'[force device size]:sectors' \
|
||||
'(-o --offset)'{-o,--offset}'[set start offset]:sectors' \
|
||||
'(-p --skip)'{-p,--skip}'[data to skip at beginning]:sectors' \
|
||||
'--readonly[set up read-only mapping]' \
|
||||
'(-i --iter-time)'{-i,--iter-time}'[set password processing duration]:milliseconds' \
|
||||
'(-q --batch-mode)'{-q,--batch-mode}'[do not ask for confirmation]' \
|
||||
'(-t --timeout)'{-t,--timeout}'[set password prompt timeout]:seconds' \
|
||||
'(-T --tries)'{-T,--tries}'[set maximum number of retries]:maximum retries' \
|
||||
'--align-payload[set payload alignment]:sectors' \
|
||||
'--uuid[set device UUID]:uuid' \
|
||||
'--version[show version information]' \
|
||||
':action:_cryptsetup_action' \
|
||||
'*::arguments:_cryptsetup_arguments'
|
||||
}
|
||||
|
||||
_cryptsetup "$@"
|
|
@ -226,6 +226,7 @@ _topgit
|
|||
_totd
|
||||
_tracepath
|
||||
_tree
|
||||
_twidge
|
||||
_twisted
|
||||
_unace
|
||||
_uname
|
||||
|
|
77
Completion/Unix/Command/_twidge
Normal file
77
Completion/Unix/Command/_twidge
Normal file
|
@ -0,0 +1,77 @@
|
|||
#compdef twidge
|
||||
## completion for twidge 1.0.8, based on twidge(1)
|
||||
|
||||
function _twidge_command {
|
||||
typeset -a twidge_commands
|
||||
typeset -i skip=1
|
||||
|
||||
twidge lscommands | while read cmd desc; do
|
||||
if [[ $cmd == ---* ]] {
|
||||
skip=0
|
||||
continue
|
||||
}
|
||||
if (( skip )) {
|
||||
continue
|
||||
}
|
||||
twidge_commands+="${cmd}:${desc}"
|
||||
done
|
||||
|
||||
_describe command twidge_commands
|
||||
}
|
||||
|
||||
function _twidge_args {
|
||||
typeset -a args_common args_more args_other args_update
|
||||
|
||||
args_common=(
|
||||
'(-a --all)'{-a,--all}'[receive all content]'
|
||||
'(-e --exec)'{-e,--exec}'[execute command for each retrieved item]:command'
|
||||
'(-l --long)'{-l,--long}'[long output format]'
|
||||
'(-m --mailto)'{-m,--mailto}'[mail retrieved items]:mail address'
|
||||
)
|
||||
|
||||
args_more=(
|
||||
'(-s --saveid)'{-s,--saveid}'[save ID of most recent message]'
|
||||
'(-u --unseen)'{-u,--unseen}'[only show unseen messages]'
|
||||
)
|
||||
|
||||
args_other=(
|
||||
'(-U --username)'{-U,--username}'[show updates of different user]:username'
|
||||
)
|
||||
|
||||
args_update=(
|
||||
'(-i --inreplyto)'{-i,--inreplyto}'[update in reply to a message]:message id'
|
||||
'(-i --inreplyto 1)-r[read RFC2822 Mail]'
|
||||
':status'
|
||||
)
|
||||
|
||||
case ${words[1]} in
|
||||
lsarchive)
|
||||
_arguments $args_common $args_more $args_other
|
||||
;;
|
||||
ls(dm(|archive)|recent|replies|rt(|archive|replies)))
|
||||
_arguments $args_common $args_more
|
||||
;;
|
||||
lsfollow(ers|ing))
|
||||
_arguments $args_common :username
|
||||
;;
|
||||
dmsend)
|
||||
_arguments :recipient :status
|
||||
;;
|
||||
(un|)follow)
|
||||
_message username
|
||||
;;
|
||||
update)
|
||||
_arguments $args_update
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function _twidge {
|
||||
_arguments \
|
||||
'(-c --config)'{-c,--config}'[config file]:file:_files' \
|
||||
'(-d --debug)'{-d,--debug}'[enable debugging output]' \
|
||||
'(-): :_twidge_command' \
|
||||
'(-)*:: :_twidge_args'
|
||||
}
|
||||
|
||||
_twidge "$@"
|
Loading…
Reference in a new issue