[英]Bash completion does not work in ZSH/Oh-My-ZSH because COMP_WORDS is not an array
我正在編寫一個 bash 命令行工具,我想使用完全<\/a>啟用 bash 完成。
我有以下 bash 完成。 在我
eval "$(.\/cli completion)"<\/code> (輸出以下內容)之后,完成在 bash 中工作正常:
#!/usr/bin/env bash
# This bash completions script was generated by
# completely (https://github.com/dannyben/completely)
# Modifying it manually is not recommended
_cli_completions() {
local cur=${COMP_WORDS[COMP_CWORD]}
local comp_line="${COMP_WORDS[*]:1}"
case "$comp_line" in
'completions'*) COMPREPLY=($(compgen -W "--help -h" -- "$cur")) ;;
'download'*) COMPREPLY=($(compgen -W "--force --help -f -h" -- "$cur")) ;;
''*) COMPREPLY=($(compgen -W "--help --version -h -v completions download" -- "$cur")) ;;
esac
}
complete -F _cli_completions cli
通過在
~\/.zshrc<\/code>中添加這兩行來配置 ZSH 時,它應該完全能夠處理 bash 完成:
# Load bash completion functions
autoload -Uz +X compinit && compinit
autoload -Uz +X bashcompinit && bashcompinit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.