2013-02-04 59 views
2

我跟踪我的计费小时。每个项目有不同的客户端,项目等的描述和一些标签。将当前命令行传递给zsh自动完成功能

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

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

的Python脚本extract_tags.py提取物在我的timetrackingdata文件中的所有标签,并让他们回的zsh。

我希望能够限制如果我已经把标签client1在命令行上我想这个标签传递给extract_tags.py所以在命令行上由标签返回已经

所以标签它可以过滤它的输出并仅返回标签为client1的项目上发生的标签。

回答

1

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

记录在哪里?在man zshcompsys中有一些传递引用,如果我没有专门查找它们,我会错过的。但是,我发现它更清楚地在this website上突出显示。