Add plugin for LXD autocomplete (#7457)

This commit is contained in:
Renato dos Santos 2020-05-23 17:35:48 -03:00 committed by GitHub
parent 6b5c872836
commit f742baf73c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 0 deletions

9
plugins/lxd/README.md Normal file
View File

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

View File

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