gpt4 book ai didi

python - 如何让我的程序利用制表符补全?

转载 作者:太空狗 更新时间:2023-10-29 20:50:15 26 4
gpt4 key购买 nike

我注意到某些程序(例如 hg)允许用户使用制表符完成命令的特定部分。例如,如果在 hg 存储库工作目录中,我键入:

hg qpush --move b8<TAB>

它将尝试使用我的补丁队列中以“b8”开头的任何 mercurial 补丁来完成命令。

我想做的是在我的程序中模仿这种行为。也就是说,我有一系列命令依赖于某个目录中的文件,我希望能够在 shell 中提供制表符完成功能。是否有用于在 Ubuntu Linux 上提供此功能的 API(最好使用 python,因为我的脚本就是用它编写的)?

最佳答案

为此,您需要为您的 shell 编写制表符补全模块。大多数 Linux 发行版中的默认 shell 是 bash,因此您应该编写一个完成脚本(通常是一个 shell 脚本)。编写脚本后,将其添加到 /etc/bash_completion.d/。这应该与您的程序一起分发(对于 Linux 分发,包含在包中)。

Debian 管理部门有 a guide for writing your completion scripts .要在 Mac 上使用补全,请参阅 https://trac.macports.org/wiki/howto/bash-completion .

有关完成文件的示例,请查看 bash-completion project from Debian (还有 on Github )。另见 https://unix.stackexchange.com/questions/4738/an-easy-bash-completion-tutorial .

如果你使用 zshhack.augusto linked to the documentation for writing completions .

关于python - 如何让我的程序利用制表符补全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14878215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com