我正在为 git 使用 bash 完成脚本。但是,在某些情况下它不起作用。假设我有一个分支 foo-branch 和一个文件 foo-file. 如果我想丢弃文件中的更改,我会经常这样做:
git checkout fo<tab>
这立即完成到 foo-branch。通常,如果有多个完成选项,我会收到一个铃声,另一个选项卡会显示选项。在这种情况下,有没有办法让完成工作也像这样工作?还是 git 完成总是优先于文件名完成?
编辑:我浏览了 bash 手册页并找到-o plusdirs
了,我将其添加到complete
指令中。这行得通;我将不得不尝试一段时间,看看它是否不会导致不带文件名参数的命令出现问题。