From 3122b848ee4b32986a5dda739c3ea73b4e696304 Mon Sep 17 00:00:00 2001 From: Martin Bielik Date: Tue, 10 Dec 2024 00:04:00 +0100 Subject: allow passing single line range --- autoload/vim_ai.vim | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'autoload/vim_ai.vim') diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim index 3effe73..14342a0 100644 --- a/autoload/vim_ai.vim +++ b/autoload/vim_ai.vim @@ -115,10 +115,10 @@ function! s:set_nopaste(config) endif endfunction -function! s:GetSelectionOrRange(is_selection, ...) +function! s:GetSelectionOrRange(is_selection, is_range, ...) if a:is_selection return s:GetVisualSelection() - elseif a:1 != a:2 + elseif a:is_range return trim(join(getline(a:1, a:2), "\n")) else return "" @@ -155,7 +155,7 @@ function! vim_ai#AIRun(uses_range, config, ...) range abort let l:instruction = a:0 > 0 ? a:1 : "" " l:is_selection used in Python script let l:is_selection = a:uses_range && a:firstline == line("'<") && a:lastline == line("'>") - let l:selection = s:GetSelectionOrRange(l:is_selection, a:firstline, a:lastline) + let l:selection = s:GetSelectionOrRange(l:is_selection, a:uses_range, a:firstline, a:lastline) let l:prompt = s:MakePrompt(l:selection, l:instruction, l:config) let s:last_command = "complete" @@ -189,7 +189,7 @@ function! vim_ai#AIEditRun(uses_range, config, ...) range abort let l:instruction = a:0 > 0 ? a:1 : "" " l:is_selection used in Python script let l:is_selection = a:uses_range && a:firstline == line("'<") && a:lastline == line("'>") - let l:selection = s:GetSelectionOrRange(l:is_selection, a:firstline, a:lastline) + let l:selection = s:GetSelectionOrRange(l:is_selection, a:uses_range, a:firstline, a:lastline) let l:prompt = s:MakePrompt(l:selection, l:instruction, l:config) let s:last_command = "edit" @@ -252,7 +252,7 @@ function! vim_ai#AIChatRun(uses_range, config, ...) range abort let l:instruction = "" " l:is_selection used in Python script let l:is_selection = a:uses_range && a:firstline == line("'<") && a:lastline == line("'>") - let l:selection = s:GetSelectionOrRange(l:is_selection, a:firstline, a:lastline) + let l:selection = s:GetSelectionOrRange(l:is_selection, a:uses_range, a:firstline, a:lastline) try call s:set_paste(l:config) -- cgit v1.2.3