diff options
author | Renato dos Santos <shazaum@gmail.com> | 2020-05-23 17:35:48 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-23 22:35:48 +0200 |
commit | f742baf73ccb70c94952717b5152f97a176eef3a (patch) | |
tree | 2faf8855731367c05bd5b2395a7c3619c159d399 | |
parent | 6b5c8728360b1592e4321b8a4b00d8c8b49e64fe (diff) | |
download | zsh-f742baf73ccb70c94952717b5152f97a176eef3a.tar.gz zsh-f742baf73ccb70c94952717b5152f97a176eef3a.tar.bz2 zsh-f742baf73ccb70c94952717b5152f97a176eef3a.zip |
Add plugin for LXD autocomplete (#7457)
-rw-r--r-- | plugins/lxd/README.md | 9 | ||||
-rw-r--r-- | plugins/lxd/lxd.plugin.zsh | 26 |
2 files changed, 35 insertions, 0 deletions
diff --git a/plugins/lxd/README.md b/plugins/lxd/README.md new file mode 100644 index 000000000..cea45e31c --- /dev/null +++ b/plugins/lxd/README.md @@ -0,0 +1,9 @@ +# lxd + +This plugin provides completion for [lxd](https://linuxcontainers.org/lxd/), as well as aliases +for frequent lxc commands. + +To use it add `lxd` to the plugins array in your zshrc file. + +```zsh +plugins=(... lxd) diff --git a/plugins/lxd/lxd.plugin.zsh b/plugins/lxd/lxd.plugin.zsh new file mode 100644 index 000000000..a6a074252 --- /dev/null +++ b/plugins/lxd/lxd.plugin.zsh @@ -0,0 +1,26 @@ +_lxc_get_command_list () { + $_comp_command1 | sed "1,/Available Commands/d" | awk '/^[ \t]*[a-z]+/ { print $1 }' +} + +_lxc_get_subcommand_list () { + $_comp_command1 ${words[2]} | sed "1,/Available Commands/d" | awk '/^[ \t]*[a-z]+/ { print $1 }' +} + +_lxc () { + local curcontext="$curcontext" state line + typeset -A opt_args + _arguments \ + '1: :->command'\ + '*: :->args' + + case $state in + command) + compadd $(_lxc_get_command_list) + ;; + *) + compadd $(_lxc_get_subcommand_list) + ;; + esac +} + +compdef _lxc lxc |