命令补全¶
提供了一个通用的命令补全命令来生成 bash-completion 脚本。目前,该命令将生成适用于 bash 版本 3 或 4 的脚本。 此外,还提供了一种模式,仅生成可用于您自己脚本的数据。 命令补全脚本是根据您在 cliff 中指定的命令和选项生成的。
用法¶
为了使您的命令支持命令补全,您需要在您的命令管理器中添加 cliff.complete.CompleteCommand 类。
self.command_manager.add_command('complete', cliff.complete.CompleteCommand)
当您运行该命令时,它将生成一个 bash-completion 脚本
(.venv)$ mycmd complete
_mycmd()
{
local cur prev words
COMPREPLY=()
_get_comp_words_by_ref -n : cur prev words
# Command data:
cmds='agent aggregate backup'
cmds_agent='--name'
...
if [ -z "${completed}" ] ; then
COMPREPLY=( $( compgen -f -- "$cur" ) $( compgen -d -- "$cur" ) )
else
COMPREPLY=( $(compgen -W "${completed}" -- ${cur}) )
fi
return 0
}
complete -F _mycmd mycmd