diff --git a/zsh-completions-howto.zh.org b/zsh-completions-howto.zh.org index c1c4e55..fcc4c26 100644 --- a/zsh-completions-howto.zh.org +++ b/zsh-completions-howto.zh.org @@ -115,16 +115,16 @@ compadd内置函数是一个核心函数,用于向命令行加入补全词, | _retrieve_cache | 从缓存文件获取补全信息 | | _store_cache | 储存缓存于缓存文件,缓存由标识符指定 | *** 其它函数 -| _message | 当无补全可生成时显示帮助信息。 | -| _regex_words | 为_regex_arguments命令生成参数。比手写参数更简单。 | -| _guard | 用于_arguments和类似函数的specifications的ACTION中,以检查被补全的词汇。 | TODO 这什么意思? +| _message | 当无补全可生成时显示帮助信息。 | +| _regex_words | 为_regex_arguments命令生成参数。比手写参数更简单。 | +| _guard | 检查被补全的词汇,用于_arguments和类似函数的定义的ACTION中。 | *** 动作(Actions) 许多工具函数,如_arguments、_regex_arguments、_alternative和_values,在选项/参数末尾有一个action。 这个action指定如何补全对应的参数。 这些action可以是如下形式之一: | ( ) | 需要提供参数但未生成任何匹配 | | (ITEM1 ITEM2) | 匹配列表 | -| ((ITEM1\:'DESC1' ITEM2\:'DESC2')) | 匹配列表,带有描述。注意引号的使用。TODO 更好的翻译 | +| ((ITEM1\:'DESC1' ITEM2\:'DESC2')) | 匹配列表,带有描述。引号必须和整个定义所使用的引号不同。 | | ->STRING | 将$state设为STRING然后继续(可在调用工具函数后用case语句检查$state的值) | | FUNCTION | 生成匹配或完成其它操作的函数的函数名,比如_files或_message | | {EVAL-STRING} | 把字符串当作shell代码执行(evaluate)。可用于带参调用工具函数,如_values或_describe | @@ -159,7 +159,6 @@ _describe函数可用在_alternative、_arguments或_regex_arguments的ACTION中 此外,_alternative允许混合不同种类的补全候选。 关于参数,该函数接受一列定义(specification),每项定义的形式为“TAG:DESCRIPTION:ACTION”(即“标签:描述:动作”),其中TAG是一个标识补全匹配种类的特殊标签。 -TODO 确定是标题,确定是除了->STRING和=ACTION之外。 DESCRIPTION以标题(heading)的形式描述补全候选组,而ACTION是先前列出的动作种类之一(除了->STRING和=ACTION之外)。 例如: #+BEGIN_SRC sh @@ -423,9 +422,7 @@ compadd -a wordsarray _arguments或_regex_arguments的定义中要使用正确的引号: 如果定义中有变量要展开,用双引号,其它情况用单引号, -并且记得在item描述处用不同的引号 TODO 什么东西? -use double quotes if there is a parameter that needs to be expanded in the specification, single quotes otherwise, -and make sure to use different quotes around item descriptions. +并且记得在ITEM(项目)描述处用不同的引号。(译注:见[[#动作(Actions)][动作(Actions)]]章节) _arguments、_alternative、_regex_arguments等的定义处要在正确的地方使用正确数量的冒号“:”。