def setup_prompt_session(self, style=None): champions = self.app.get_champions_names() choices = self._get_prompt_choices(champions) completer = WordCompleter(choices) # Create prompt object. session = PromptSession() session.completer = completer session.style = style session.complete_in_thread = True session.message = self._get_prompt_message() self.session = session return self
def main(): hist_file = Path("~/.monkeyhist").expanduser() # Create history file if it doesn't exist already if not hist_file.exists(): hist_file.touch() session = PromptSession(history=FileHistory(hist_file), completer=monkey_completer, style=style) env = {} while True: try: scanned = session.prompt(">> ", lexer=PygmentsLexer(JavascriptLexer)) except KeyboardInterrupt: continue except EOFError: break else: lexer = Lexer(scanned) parser = Parser(lexer) program = parser.parse_program() if parser.errors: for error in parser.errors: print(error) evaluated = Eval(program, env) session.completer = WordCompleter( list(set(token.keywords) | set(env))) if evaluated is not None: print(evaluated.inspect()) print("Farewell!")