zsh 自动完成函数的结果

zsh 自动完成函数的结果

我一直在寻找,但找不到明确的方法来做到这一点:

略显做作的示例以隐藏细节:假设我想使用打开它们的命令自动完成 tmux 会话名称。

因此说tmux-open $NAME打开所述 tmux 会话,并tmux-ls列出所有可能的会话名称(以换行符分隔)。

如何配置 zsh 以便tmux-open <TAB>使用可能的会话列表自动完成tmux-ls

答案1

搞清楚了。这很简单,所以很多指南似乎都跳过了这样的内容,而转向更复杂的东西。在~/.zshrc

function _tmux_completions() {
  local -a sessions
  sessions=($(tmux-ls))
  compadd -a sessions
}
compdef _tmux_completions tmux-open

相关内容