stecman / composer-bash-completion-plugin
Composer 的 BASH/ZSH 自动完成插件
dev-master
2022-05-08 22:40 UTC
Requires
- composer-plugin-api: ^1.0|^2.0
- stecman/symfony-console-completion: >=0.7.0 <0.12.0
Requires (Dev)
- composer/composer: ^1.8|^2.0
This package is auto-updated.
Last update: 2024-08-29 22:41:14 UTC
README
这是一个实验性的破解方法,通过插件将 Symfony BASH 自动完成 添加到 Composer。这是一个相当巧妙的破解方法,但它可以在不编辑 Composer 代码的情况下工作。
安装
- 安装插件
composer global require stecman/composer-bash-completion-plugin dev-master
- 生成代码以注册您的 shell 和 Composer 配置的完成钩子
source $(composer config home --global)/vendor/stecman/composer-bash-completion-plugin/generate-hook
- 将注册代码添加到您的 shell 配置文件中
- 如果您使用的是 BASH,请将输出复制到您的
~/.bash_profile
- 如果您使用的是 ZSH,请将输出复制到您的
~/.zshrc
- 重新加载您的修改后的 shell 配置(或打开新的 shell),然后享受 Composer 上的 Tab 完成功能
说明
这个狡猾的插件在运行时向 Composer 应用程序中注入一个额外的命令。当这个包中的插件被激活,并且命令行以 composer depends _completion
开始时,插件实际上添加了完成命令并重新启动了应用程序,并从命令行中删除了 depends
,使 _completion
成为命令参数。这曾经在没有依赖命令的情况下工作过,但 composer 的一个更新停止了原始方法的工作 (#8)。