命令补全

提供了一个通用的命令补全命令来生成 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