28 lines
805 B
Python
Executable File
28 lines
805 B
Python
Executable File
from prompt_toolkit import PromptSession
|
|
from prompt_toolkit.completion import Completer, Completion
|
|
|
|
|
|
class Completer(Completer):
|
|
def get_completions(self, document, complete_event):
|
|
yield Completion('foo', start_position=0, style='bg:ansiyellow fg:ansiblack')
|
|
yield Completion('bar', start_position=0, style='underline')
|
|
|
|
class Foo:
|
|
def __init__(self):
|
|
self.session = PromptSession()
|
|
|
|
def run(self):
|
|
print(self.multi_line_prompt())
|
|
|
|
|
|
def multi_line_prompt(self):
|
|
""" Prompt the user for input, allowing multiple lines with default text. """
|
|
return self.session.prompt('Give me some input: ', multiline=True, default='Hello\nWorld\n', completer=Completer())
|
|
|
|
def main():
|
|
foo = Foo()
|
|
foo.run()
|
|
|
|
if __name__ == '__main__':
|
|
main()
|