當我嘗試運行 cap 之類的命令時,bundle exec cap我的 cap 任務完成后不起作用。相反,我得到一個目錄串列:
> bundle exec cap -T
app/ config.ru Gemfile.lock package-lock.json reference/ yarn.lock
babel.config.js config/ Guardfile postcss.config.js spec/
bin/ db/ lib/ public/ ted_app_meta_data.yml
build/ doc/ log/ Rakefile tmp/
Capfile Gemfile package.json README.md vendor/
> cap -T
airbrake:deploy (Capistrano task) deploy:finishing_rollback (Capistrano task) deploy:updating (Capistrano task) git:ini-1.3.8 (Capistrano task) unicorn:graceful_restart (Capistrano task)
似乎魚可以區分命令的前綴sudo
> sudo cap
airbrake:deploy (Capistrano task) deploy:finishing_rollback
所以我的問題是,為了用 Tab 召喚完成,我如何獲得bundle exec鏡像的行為?sudo
uj5u.com熱心網友回復:
你可以在這里看到sudo 是如何做到的。它添加了一個完成,該完成sudo從命令列中剝離和特定于 sudo 的選項,然后重新呼叫complete -C以生成此子命令的完成。
解決這個問題的一種方法bundle是:
- 從該
sudo.fish檔案開始,將其復制到~/.config/fish/completions/bundle.fish. - 編輯該檔案以替換對 的
sudo參考bundle。 - 洗掉特定于 sudo 的引數并添加任何你想要的 bundle。
sudo.fish 檔案可能已經安裝在/usr/local/share/fish/completions/sudo.fish或您可以從 GitHub 下載。
關于撰寫自己的完成的檔案是一個很好的參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510061.html
標籤:红宝石鱼
