5

我希望能够在我的 bash shell 中使用带有 composer 的 tab 自动完成功能,就像我可以自动完成文件名或 git 命令一样。

4

1 回答 1

8

composer在 bash 中启用自动完成,您需要编写一个函数,该函数返回最后输入的参数(在这种情况下)的可能值数组_composer()并使用complete -F function command.

作为一个完整的工作示例,将以下内容添加到您的.bashrc(或您可能正在使用的任何其他配置脚本)

_composer()
{
    local cur=${COMP_WORDS[COMP_CWORD]}
    local cmd=${COMP_WORDS[0]}
    if ($cmd > /dev/null 2>&1)
    then
        COMPREPLY=( $(compgen -W "$($cmd list --raw | cut -f 1 -d " " | tr "\n" " ")" -- $cur) )
    fi
}
complete -F _composer composer
complete -F _composer composer.phar
于 2013-05-22T13:42:31.167 回答