Hi,
I created shell completion scripts for
dzil. The completion that is shipped with Dist::Zilla only completes subcommands, and only is for bash, as far as I can see.
My scripts also complete options, and show the description of subcommands and options.
See
https://github.com/perlpunk/shell-completions.
(If dzil commands change, I have to update this, too, of course.)
I created this with
https://metacpan.org/pod/App::AppSpec
Usage:
# bash
$ git clone https://github.com/perlpunk/shell-completions.git
$ cd shell-completions
$ source bash/dzil.bash
$ dzil <TAB>
add -- add modules to an existing dist
authordeps -- list your distributions author dependencies
build -- build your dist
clean -- clean up after build, test, or install
commands -- list the applications commands
help -- Show command help
install -- install your dist
listdeps -- print your distributions prerequisites
new -- mint a new dist
nop -- do nothing: initialize dzil, then exit
release -- release your dist
run -- run stuff in a dir where your dist is built
setup -- set up a basic global config file
smoke -- smoke your dist
test -- test your dist
$ dzil test --<TAB>
--all -- enables the RELEASE_TESTING, AUTOMATED_TESTING, EX
+TENDED_TESTING and AUTHOR_TESTING env variables
--author -- enables the AUTHOR_TESTING env variable
--automated -- enables the AUTOMATED_TESTING env variable (defaul
+t behavior)
--extended -- enables the EXTENDED_TESTING env variable
--help -- Show command help
--jobs -- number of parallel test jobs to run
--keep-build-dir -- keep the build directory even after a success
--keep -- keep the build directory even after a success
--lib-inc -- additional @INC dirs
--release -- enables the RELEASE_TESTING env variable
--test-verbose -- enables verbose testing (TEST_VERBOSE env variable
+ on Makefile.PL, --verbose on Build.PL
--verbose -- log additional output
--verbose-plugin -- log additional output from some plugins only
# zsh
# put zsh/_dzil into a directory which is read by
# zsh completions, or add this directory to your .zshrc:
# fpath=("$HOME/path/to/shell-completions/zsh" $fpath)
# log in again