我编写了一个小型 shell 脚本,它采用单个命令行参数。
我希望在开始编写参数时能够自动完成,自动完成选择应该来自特定的文本文件。
例如,如果我的文本文件包含
foo
foobar
如果我开始写作my-cli fo
并按TAB
我喜欢 zsh 向我显示选择foo
和foobar
。
欢迎任何指向相关文档或教程的指针。
答案1
我正在努力解决类似的问题,但有点复杂。使用静态自动完成选项文件,以下代码对我有用:
#compdef test
_test_comp(){
t=($(cat /tmp/file_with_opts))
_wanted t expl "availavle options" compadd -a t
}
_arguments -C -S \
'*:test_autocomplete:_test_comp'
这样脚本test
将从中获取选项/tmp/file_with_opts