我正在python中的git钩子之一(prepare-commit-msg)中实现自动完成功能。当我将其称为普通的python脚本(即python auto_complete_hook.py
)时,它可以工作。但是,它在git hook环境中调用时不起作用(按TAB不会显示选项)。在git钩子中,我附加了一个tty,即在调用sys.stdin = open('/dev/tty', 'r')
函数之前,input()
。
我想念什么?我将不胜感激如何解决这个问题。
Git钩子代码:
sys.stdin = open('/dev/tty', 'r')
autocompleter = MyCompleter(keywords_list)
readline.set_completer(autocompleter.complete)
readline.parse_and_bind('tab: complete')
input()
autocompleter.complete
函数返回可能的匹配项列表。