zsh 完成带有前缀的路径

发布于 2025-01-10 13:33:42 字数 1071 浏览 0 评论 0原文

我正在尝试将 zsh 获取到 自动完成自定义命令。

这个想法是,在我的命令 foo 中:

foo --args @path/to/fi

所有开头带有“@”的参数都应该像常规文件一样自动完成,并保留“@”。

因此,在上面的示例中,当按 时,我希望自动补全功能建议 file1.txtfile2.txt (或 @path/to/file1.txt, @path/to/file2.txt),假设这两个文件存在于文件夹 path/to 中,所以我可以自动完成它,例如:

foo --args @path/to/file1.txt

我查看了 教程文档,但无法完全掌握语法...

我希望我需要以下内容:

_foo() {
  # What to add here?
}

#compdef foo

I'm trying to get zsh to autocomplete a custom command.

The idea is that in my command foo:

foo --args @path/to/fi

all arguments with an "@" at the beginning should be autocompleted the same as regular files, keeping the "@".

So in the example above, when pressing <TAB> I would expect autocompletion to suggest file1.txt or file2.txt (or @path/to/file1.txt, @path/to/file2.txt), given these two files exist in the folder path/to, so I could autocomplete it to, for example:

foo --args @path/to/file1.txt

I've looked at the tutorial and the documentation, but can't quite get to grips with the syntax...

I expect I need something in:

_foo() {
  # What to add here?
}

#compdef foo

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文