diff options
| -rw-r--r-- | py/chat.py | 9 | ||||
| -rw-r--r-- | py/complete.py | 9 | ||||
| -rw-r--r-- | py/utils.py | 9 |
3 files changed, 13 insertions, 14 deletions
@@ -63,10 +63,5 @@ try: vim.command("normal! a\n\n>>> user\n\n") vim.command("redraw") -except KeyboardInterrupt: - vim.command("normal! a Ctrl-C...") -except URLError as error: - if isinstance(error.reason, socket.timeout): - vim.command("normal! aRequest timeout...") - else: - raise error +except BaseException as error: + handle_completion_error(error) diff --git a/py/complete.py b/py/complete.py index 1045720..9929cf7 100644 --- a/py/complete.py +++ b/py/complete.py @@ -49,10 +49,5 @@ try: vim.command("redraw") text_chunks = engines[engine](prompt) render_text_chunks(text_chunks) -except KeyboardInterrupt: - vim.command("normal! a Ctrl-C...") -except URLError as error: - if isinstance(error.reason, socket.timeout): - vim.command("normal! aRequest timeout...") - else: - raise error +except BaseException as error: + handle_completion_error(error) diff --git a/py/utils.py b/py/utils.py index bd69401..2e0fc2d 100644 --- a/py/utils.py +++ b/py/utils.py @@ -125,3 +125,12 @@ def openai_request(url, data, options): else: openai_obj = json.loads(line_data) yield openai_obj + +def handle_completion_error(error): + if isinstance(error, KeyboardInterrupt): + vim.command("normal! a Ctrl-C...") + if isinstance(error, URLError): + if isinstance(error.reason, socket.timeout): + vim.command("normal! aRequest timeout...") + else: + raise error |