def METHOD_NAME(self) -> None:
    """
    Repeatedly get input from user, parse it, and run the commands.
    """
    ctx = InvokeContext(
        processor=self,
        session=self.session,
        root_command=self.root_command,
        current_command=self.root_command,
        formatter=Formatter(),
    )
    session = PromptSession()
    while True:
        try:
            try:
                ctx.current_command = self.root_command
                line = session.prompt(self.prompt)
            except EOFError:
                break
            if line:
                try:
                    command, tail = self.root_command.resolve(ctx, line)
                    ctx.current_command = command
                    command.invoke(ctx, tail)
                except ParseError:
                    print(f"Unknown syntax: {line}", file=sys.stderr)
                except CommandNotFoundError:
                    print(
                        f"Cannot determine the command for: {line}",
                        file=sys.stderr,
                    )
        except KeyboardInterrupt:
            print("Got KeyboardInterrupt")
            print("Press CTRL-D to quit.")
    event_engine = self.session.client.event_engine
    event_engine.execute_action("quit")