簡體   English   中英

Bash 補全在 ZSH/Oh-My-ZSH 中不起作用,因為 COMP_WORDS 不是數組

[英]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

Github 票證<\/a>中討論了此問題。

通過在~\/.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM