Я пытаюсь написать функцию для отображения пользовательского представления, когда пользователи нажимают кнопку вкладки. По-видимому, функция «set_completion_display_matches_hook» - это то, что мне нужно, я могу отобразить пользовательское представление, но проблема в том, что я должен нажать Enter, чтобы снова получить приглашение.Python: правильное использование set_completion_display_matches_hook
Раствор в python2, кажется, что (solution here):
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()
Но она не работает с Python3. Я сделал эти синтаксические изменения:
def match_display_hook(self, substitution, matches, longest_match_length):
print('\n----------------------------------------------\n')
for match in matches:
print(match)
print(self.prompt.rstrip() + readline.get_line_buffer())
readline.redisplay()
Любые идеи, пожалуйста?