如何从我自己的脚本提供标签完成鱼壳?

前端之家收集整理的这篇文章主要介绍了如何从我自己的脚本提供标签完成鱼壳?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在运行Ubuntu 13.10和鱼2.1.0.我想自己写一个 Python脚本来从命令行执行一些任务.该脚本将需要命令行参数.

我如何写我的脚本,以便鱼可以请求并获得给定参数的可能值.潜在值列表是动态的.也就是说,它将被程序确定(例如,与某些标准匹配的文件名称的列表).

我目标的最终结果是:

user@machine ~> myprog argument=fol<TAB>
folder1  folder2  folder3

其中myprog是我的脚本文件,参数是参数名称,folder1等是我脚本中某些函数生成的有效值.

这是可能的,如果是这样的话?

改编自 zanchey’s comment on GitHub

如果你有一个程序myprog,它采用–_ completion选项,你可以为myprog编写一个完整的存根,如下所示:

complete --command myprog --arguments (myprog --_completion (commandline -cp)

然后,您的程序将被调用为myprog –_在此处完成myprog一些参数,您可以通过适当的完成进行响应.它应该只返回正在完成的当前令牌(您也可以使用(commandline -ct)将其传递给程序,或者自己进行令牌化),然后可以选择通过选项卡和简短描述.多个完成用新行分隔.

笔记:

> __完成是由python-selfcompletion库建议的约定,但您可以使用任何您想要的,而这个答案不是Python特定的
>没有办法指定默认完成,如dbarnett/python-selfcompletion#2 (GitHub comment)所述.您一定要为每个命令创建一个短小的存根.

对于Python脚本,以下库可能会在将来的某个时刻支持鱼类完成(但是还没有):

> argcomplete
> python-selfcompletion

原文链接:https://www.f2er.com/bash/384104.html

猜你在找的Bash相关文章