From 3178df3e2a77efc2d3e866b8a920d6a1bd5521ed Mon Sep 17 00:00:00 2001 From: Konfekt Date: Fri, 8 Mar 2024 17:25:27 +0100 Subject: allow overriding range if called on visual selection Check if the start and end line of range equals that of visual selection. If so, take the visual selection; otherwise the supplied range --- autoload/vim_ai.vim | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'autoload') diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim index ffc5fa3..940b4a2 100644 --- a/autoload/vim_ai.vim +++ b/autoload/vim_ai.vim @@ -125,8 +125,14 @@ endfunction function! vim_ai#AIRun(config, ...) range let l:config = vim_ai_config#ExtendDeep(g:vim_ai_complete, a:config) let l:instruction = a:0 > 0 ? a:1 : "" - " used for getting in Python script - let l:is_selection = a:0 > 1 ? a:2 : g:vim_ai_is_selection_pending + " l:is_selection used in Python script + if a:0 > 1 + let l:is_selection = a:2 + else + let l:is_selection = g:vim_ai_is_selection_pending && + \ a:firstline == line("'>") && a:lastline == line("'>") + endif + let l:selection = s:GetSelectionOrRange(l:is_selection, a:firstline, a:lastline) let l:prompt = s:MakePrompt(l:selection, l:instruction, l:config) @@ -156,8 +162,13 @@ endfunction function! vim_ai#AIEditRun(config, ...) range let l:config = vim_ai_config#ExtendDeep(g:vim_ai_edit, a:config) let l:instruction = a:0 > 0 ? a:1 : "" - " used for getting in Python script - let l:is_selection = a:0 > 1 ? a:2 : g:vim_ai_is_selection_pending + " l:is_selection used in Python script + if a:0 > 1 + let l:is_selection = a:2 + else + let l:is_selection = g:vim_ai_is_selection_pending && + \ a:firstline == line("'>") && a:lastline == line("'>") + endif let l:selection = s:GetSelectionOrRange(l:is_selection, a:firstline, a:lastline) let l:prompt = s:MakePrompt(l:selection, l:instruction, l:config) @@ -184,7 +195,8 @@ function! vim_ai#AIChatRun(uses_range, config, ...) range let l:instruction = "" " l:is_selection used in Python script if a:uses_range - let l:is_selection = g:vim_ai_is_selection_pending + let l:is_selection = g:vim_ai_is_selection_pending && + \ a:firstline == line("'>") && a:lastline == line("'>") let l:selection = s:GetSelectionOrRange(l:is_selection, a:firstline, a:lastline) else let l:is_selection = 0 -- cgit v1.2.3 From 258a8cf5e15cd6c3ac84ac98094ddae554e97c3f Mon Sep 17 00:00:00 2001 From: Konfekt Date: Sat, 9 Mar 2024 13:04:46 +0100 Subject: fix typo --- autoload/vim_ai.vim | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'autoload') diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim index 940b4a2..b79e344 100644 --- a/autoload/vim_ai.vim +++ b/autoload/vim_ai.vim @@ -1,4 +1,13 @@ call vim_ai_config#load() +if &compatible || exists('g:loaded_vim_ai') + finish +endif + +function! s:vim_ai() + +endfunction + +let g:loaded_vim_ai = 1 let s:plugin_root = expand(':p:h:h') let s:complete_py = s:plugin_root . "/py/complete.py" @@ -130,7 +139,7 @@ function! vim_ai#AIRun(config, ...) range let l:is_selection = a:2 else let l:is_selection = g:vim_ai_is_selection_pending && - \ a:firstline == line("'>") && a:lastline == line("'>") + \ a:firstline == line("'<") && a:lastline == line("'>") endif let l:selection = s:GetSelectionOrRange(l:is_selection, a:firstline, a:lastline) @@ -196,7 +205,7 @@ function! vim_ai#AIChatRun(uses_range, config, ...) range " l:is_selection used in Python script if a:uses_range let l:is_selection = g:vim_ai_is_selection_pending && - \ a:firstline == line("'>") && a:lastline == line("'>") + \ a:firstline == line("'<") && a:lastline == line("'>") let l:selection = s:GetSelectionOrRange(l:is_selection, a:firstline, a:lastline) else let l:is_selection = 0 -- cgit v1.2.3 From 60113fc29037ccab1d291365502c9e3e4cf2ada2 Mon Sep 17 00:00:00 2001 From: Konfekt Date: Sat, 9 Mar 2024 14:17:17 +0100 Subject: remove garbled text --- autoload/vim_ai.vim | 7 ------- 1 file changed, 7 deletions(-) (limited to 'autoload') diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim index b79e344..67bf684 100644 --- a/autoload/vim_ai.vim +++ b/autoload/vim_ai.vim @@ -1,11 +1,4 @@ call vim_ai_config#load() -if &compatible || exists('g:loaded_vim_ai') - finish -endif - -function! s:vim_ai() - -endfunction let g:loaded_vim_ai = 1 -- cgit v1.2.3