将当前命令行传递给zsh自动完成功能

时间:2013-02-04 10:01:28

标签: zsh zsh-completion

我跟踪我的计费时间。每个项目都有不同客户,项目等的描述和标签。

最近我为这些标签添加了zsh完成功能。这就是我现在在zsh自动完成文件中的内容:

_arguments "*:tags:( $(cat timetrackingdata | extract_tags.py ) )"

python脚本extract_tags.py提取我的timetrackingdata文件中的所有标记,并将它们返回给zsh。

我希望能够限制已经在命令行上的标签返回的标签

因此,如果我已将标记client1放在命令行上,我想将此标记传递给extract_tags.py,以便它可以过滤它的输出,并且只返回在项目上发生的标记标记client1

1 个答案:

答案 0 :(得分:1)

我认为你要找的是$words变量。这是在命令行中指定的所有单词的数组,它们在完成函数中神奇地存在。

记录在哪里? man zshcompsys中有一些传递参考文献,如果我没有专门寻找它们,我会错过。但是,我在this website上更清楚地突出显示了它。