summaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
authorMartin Bielik <martin.bielik@instea.sk>2024-12-16 23:46:17 +0100
committerMartin Bielik <martin.bielik@instea.sk>2024-12-16 23:46:17 +0100
commit8fde389664ca59773c38dc0ec1a434a98bc2428b (patch)
tree9cfd732f0c9c8820b6d2c3fce945fa8c266ec92d /autoload
parent2a418adca13bc7f8d4b35a4a1ec83fe0e5aedd91 (diff)
downloadvim-ai-8fde389664ca59773c38dc0ec1a434a98bc2428b.tar.gz
command-type only roles
Diffstat (limited to '')
-rw-r--r--autoload/vim_ai.vim16
1 files changed, 14 insertions, 2 deletions
diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim
index 03ac978..f6cbed5 100644
--- a/autoload/vim_ai.vim
+++ b/autoload/vim_ai.vim
@@ -299,9 +299,21 @@ function! vim_ai#AIRedoRun() abort
endif
endfunction
-function! vim_ai#RoleCompletion(A,L,P) abort
+function! s:RoleCompletion(A, command_type) abort
call s:ImportPythonModules()
- let l:role_list = py3eval("load_ai_role_names()")
+ let l:role_list = py3eval("load_ai_role_names(unwrap('a:command_type'))")
call map(l:role_list, '"/" . v:val')
return filter(l:role_list, 'v:val =~ "^' . a:A . '"')
endfunction
+
+function! vim_ai#RoleCompletionComplete(A,L,P) abort
+ return s:RoleCompletion(a:A, 'complete')
+endfunction
+
+function! vim_ai#RoleCompletionEdit(A,L,P) abort
+ return s:RoleCompletion(a:A, 'edit')
+endfunction
+
+function! vim_ai#RoleCompletionChat(A,L,P) abort
+ return s:RoleCompletion(a:A, 'chat')
+endfunction