summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Bielik <mx.bielik@gmail.com>2023-04-15 13:49:28 +0200
committerMartin Bielik <mx.bielik@gmail.com>2023-04-15 14:01:23 +0200
commitdca8f65a63c32644199fc95d5d8a4cb8f6b8dceb (patch)
tree23d49d3a21fc231586bb6a6f3e14a1d74e4d9453
parent4bb95955c5ee1e4d5f7aaeec549b4b865d356773 (diff)
downloadvim-ai-dca8f65a63c32644199fc95d5d8a4cb8f6b8dceb.tar.gz
using messages to show error/warning
-rw-r--r--autoload/vim_ai.vim8
-rw-r--r--py/utils.py11
2 files changed, 13 insertions, 6 deletions
diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim
index 451c2df..ec18601 100644
--- a/autoload/vim_ai.vim
+++ b/autoload/vim_ai.vim
@@ -42,7 +42,7 @@ function! vim_ai#MakeScratchWindow()
endif
endfunction
-function! MakePrompt(is_selection, lines, instruction)
+function! s:MakePrompt(is_selection, lines, instruction)
let l:lines = trim(join(a:lines, "\n"))
let l:instruction = trim(a:instruction)
let l:delimiter = l:instruction != "" && a:is_selection ? ":\n" : ""
@@ -53,7 +53,7 @@ endfunction
function! vim_ai#AIRun(is_selection, ...) range
let l:instruction = a:0 ? a:1 : ""
let l:lines = getline(a:firstline, a:lastline)
- let l:prompt = MakePrompt(a:is_selection, l:lines, l:instruction)
+ let l:prompt = s:MakePrompt(a:is_selection, l:lines, l:instruction)
let s:last_command = "complete"
let s:last_instruction = l:instruction
@@ -75,7 +75,7 @@ endfunction
function! vim_ai#AIEditRun(is_selection, ...) range
let l:instruction = a:0 ? a:1 : ""
- let l:prompt = MakePrompt(a:is_selection, getline(a:firstline, a:lastline), l:instruction)
+ let l:prompt = s:MakePrompt(a:is_selection, getline(a:firstline, a:lastline), l:instruction)
let s:last_command = "edit"
let s:last_instruction = l:instruction
@@ -100,7 +100,7 @@ function! vim_ai#AIChatRun(is_selection, ...) range
let l:prompt = ""
if a:0 || a:is_selection
let l:instruction = a:0 ? a:1 : ""
- let l:prompt = MakePrompt(a:is_selection, l:lines, l:instruction)
+ let l:prompt = s:MakePrompt(a:is_selection, l:lines, l:instruction)
endif
execute "normal! Gi" . l:prompt
endif
diff --git a/py/utils.py b/py/utils.py
index 2e0fc2d..79ff378 100644
--- a/py/utils.py
+++ b/py/utils.py
@@ -126,11 +126,18 @@ def openai_request(url, data, options):
openai_obj = json.loads(line_data)
yield openai_obj
+def print_info_message(msg):
+ vim.command("redraw")
+ vim.command(f"normal \<Esc>")
+ vim.command("echohl ErrorMsg")
+ vim.command(f"echomsg '{msg}'")
+ vim.command("echohl None")
+
def handle_completion_error(error):
if isinstance(error, KeyboardInterrupt):
- vim.command("normal! a Ctrl-C...")
+ print_info_message("Completion cancelled...")
if isinstance(error, URLError):
if isinstance(error.reason, socket.timeout):
- vim.command("normal! aRequest timeout...")
+ print_info_message("Request timeout...")
else:
raise error