这是一个正确执行此操作的程序示例。
如果输入:
git stash list
在终端
然后将光标移动到" h" 并按TAB您的输出将是:
git stash h list
并且您的光标将位于最后一个" h"
我认为在我的compgen中添加-S(后缀)命令会附加一个空格,但是唉,它没有。
COMPREPLY=($(compgen -W "$1" -S " " -- ${cur}))
作为一个例子,我的程序将输出:
git stashh list.
如何获得所需的行为?我的后缀方法是否正确?我是否需要让bash忽略它是一个空白的事实?
我应该添加-o nospace以便始终获得我期望的确切空间量吗?在我的COMPREPLY中的任何地方添加-o nospace似乎都没有消除空格?也许我没有使用正确的?
带有-o nospace的命令用于记录:
COMPREPLY=($(compgen -o nospace -W "$1" -S " " -- ${cur}))