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 >
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