예제 #1
0
    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
예제 #2
0
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!")