我跟踪我的计费时间。每个项目都有一个描述和一些针对不同客户、项目等的标签。
最近我为这些标签添加了 zsh 补全功能。这就是我现在的 zsh 自动完成文件中的内容:
_arguments "*:tags:( $(cat timetrackingdata | extract_tags.py ) )"
Python 脚本 extract_tags.py
提取我的 timetrackingdata 文件中的所有标签并将它们返回给 zsh。
我希望能够限制命令行上已有标签返回的标签
因此,如果我已经将标签 client1
放在命令行上,我想将此标签传递给 extract_tags.py
,以便它可以过滤其输出,并且仅返回同样具有标签 client1
的项目上出现的标签。
最佳答案
我认为您正在寻找的是 $words
变量。这是在命令行上指定的所有单词的数组,它神奇地存在于完成函数中。
记录在哪里? man zshcompsys
中有一些传递的引用资料,如果我没有专门寻找它们,我可能会错过它们。然而,我发现它在this website上更清楚地突出显示。 .
关于zsh - 将当前命令行传递给 zsh 自动完成函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14684322/