3

背景

嗨,我正在尝试在 readline 中为我的选项卡完成输出编写自定义显示。这是我的display hook功能-

代码

def match_display_hook(self, substitution, matches, longest_match_length):
    print ''
    for match in matches:
        print match
    readline.redisplay()

问题

但问题是我必须按回车键才能获得提示,这与默认选项卡完成输出不同,我可以立即获得提示。我看到rl另一个线程中有人建议了模块,但是没有办法通过 readline 本身完成它吗?

4

1 回答 1

2

好的,我找到了一种方法,不确定这是否是修复它的正确方法。但是我在 match_display_hook 的末尾打印了提示和 readline 缓冲区,一切看起来都很好。这是我的新 match_display_hook:

def match_display_hook(self, substitution, matches, longest_match_length):
    print ''
    for match in matches:
        print match
    print self.prompt.rstrip(),
    print readline.get_line_buffer(),
    readline.redisplay()

这很好用。

于 2013-03-05T00:02:05.147 回答