如何从我自己的脚本提供标签完成鱼壳?
我正在运行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特定的 对于Python脚本,以下库可能会在将来的某个时刻支持鱼类完成(但是还没有): > argcomplete (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |