Okay I compared the help pages of cryptsetup --help for each version
from 1.3.0 (release 2011-04-05) to 1.6.3 (latest). I also looked at the
release notes corresponding to theses versions. The result is that now
the cryptsetup completion I have takes into account options and command
introduced between 1.3.0 and 1.6.3 . (if I didn't miss some)
Moreover now only appropriate (block devices and directories) are
suggested when a device is expected since cryptsetup acts on block
devices. This clean up significantly the suggested option because
/dev/is full of irrelevant stuff for cryptsetup (eg tty*, vcs*, etc)

It works fine on my computer and a few different version of cryptsetup
but comments are welcome.

Attached is the patch with respect to the git tree and the whole
cryptsetup completion.

On 02/05/2014 04:09 PM, Bruno Ricci wrote:
> I have been working on the cryptsetup completion. The one currently in
> the tree is missing some option (ex tcryptOpen, tcryptDump, etc), has
> some obsolete options (for example luksDelKey is now obselete as of
> cryptsetup 1.6.2). Moreover the current completion is in general not
> clever enough. For example --use-random and --use-urandom are mutually
> exclusive and so if --use-random is on the command line, --use-urandom
> should not be suggested. As a downside, the completion is now approx 40k
> in size.
> 
> Features of the new completion.
>       -- all command in the man page (except create)
>       (as of cryptsetup 1.6.2) are now completed with
>       the appropriate options. Ex. luksKillSlot <tab> <tab>
>        does only show the options and parameter
>       which are valid with this command.
>       -- mutually exclusive command are implemented
>       Ex. --use-urandom | --use-random, --hash | --cipher
>       for the benchmark command
>       -- the majority of options only make sense specified once
>       (exception are --key-file with tcrypt* and some few other)
>       so options already specified on the command line are not
>       suggested again (except for the few exceptions).
>       -- the file is now documented
>       -- I believe it complies with the style guideline
>       (in particular the 79 char limit and the "tab-are-4-space")
> 
> The patch and the whole file are attached. What do you think about it ?
> In particular how do we deal with users who have
> an older version of cryptsetup which might not have all the commands
> in this completion (in particular tcrypt* which was introduced in 1.6.0)
> Comments, suggestions and criticism are welcome.
> 
> Bruno Ricci
> 







Attachment: cryptsetup.tar.bz2
Description: BZip2 compressed data

_______________________________________________
Bash-completion-devel mailing list
Bash-completion-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/bash-completion-devel

Reply via email to