(mycli: 'MyCli')
| 855 | |
| 856 | |
| 857 | def main_repl(mycli: 'MyCli') -> None: |
| 858 | sqlexecute = mycli.sqlexecute |
| 859 | assert sqlexecute is not None |
| 860 | state = ReplState() |
| 861 | |
| 862 | mycli.configure_pager() |
| 863 | if mycli.smart_completion and not mycli.sandbox_mode: |
| 864 | mycli.refresh_completions() |
| 865 | |
| 866 | history = _create_history(mycli) |
| 867 | key_bindings = mycli_bindings(mycli) |
| 868 | _show_startup_banner(mycli, sqlexecute) |
| 869 | _build_prompt_session(mycli, state, history, key_bindings) |
| 870 | set_all_external_titles(mycli) |
| 871 | |
| 872 | try: |
| 873 | while True: |
| 874 | _one_iteration(mycli, state) |
| 875 | state.iterations += 1 |
| 876 | except EOFError: |
| 877 | special.close_tee() |
| 878 | if mycli.verbosity >= 0: |
| 879 | mycli.echo('Goodbye!') |
nothing calls this directly
no test coverage detected