psp*_*psp 7 bash scala tab-completion
我对上面的问题感到高兴.我要提供的答案花了我一段时间拼凑起来,但它仍然看起来绝对原始和hacky相比,可以做的是完成重新设计,以减少严重.我几乎不敢问,是否有一个很好的理由说完成逻辑似乎完全脱离了它正在完成的程序.
我写了一个命令行库(可以在scala trunk中看到),它允许你将一个开关翻转到一个"--bash"选项.如果你跑
./program --bash
Run Code Online (Sandbox Code Playgroud)
它计算完成文件,将其写入临时文件,然后回声
. /path/to/temp/file
Run Code Online (Sandbox Code Playgroud)
到控制台.结果是你可以像这样使用反引号:
`./program --bash`
Run Code Online (Sandbox Code Playgroud)
并且你将在当前shell中完成"program",因为它将获取tempfile.
举一个具体的例子:检查scala trunk并运行test/partest.