diff options
| author | Martin Bielik <mx.bielik@gmail.com> | 2024-03-24 11:29:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-24 11:29:43 +0100 |
| commit | edd54923c2caa81066e637da50f76905bb1c3a11 (patch) | |
| tree | 160568ea3abdabbca1273acb9bc423cfa98f1a53 /autoload | |
| parent | eb333e39e17d4d5240dbbc186a65bc6e9ab6b44e (diff) | |
| parent | 6a053767af08d6edfb46b4be72f05a9b3bc7be04 (diff) | |
| download | vim-ai-edd54923c2caa81066e637da50f76905bb1c3a11.tar.gz | |
Merge pull request #85 from madox2/custom-roles
Custom roles
Diffstat (limited to '')
| -rw-r--r-- | autoload/vim_ai.vim | 7 | ||||
| -rw-r--r-- | autoload/vim_ai_config.vim | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim index 74515d4..47a9f03 100644 --- a/autoload/vim_ai.vim +++ b/autoload/vim_ai.vim @@ -3,6 +3,7 @@ call vim_ai_config#load() let s:plugin_root = expand('<sfile>:p:h:h') let s:complete_py = s:plugin_root . "/py/complete.py" let s:chat_py = s:plugin_root . "/py/chat.py" +let s:roles_py = s:plugin_root . "/py/roles.py" " remembers last command parameters to be used in AIRedoRun let s:last_is_selection = 0 @@ -249,3 +250,9 @@ function! vim_ai#AIRedoRun() call vim_ai#AIChatRun(0, s:last_config) endif endfunction + +function! vim_ai#RoleCompletion(A,L,P) abort + execute "py3file " . s:roles_py + call map(l:role_list, '"/" . v:val') + return filter(l:role_list, 'v:val =~ "^' . a:A . '"') +endfunction diff --git a/autoload/vim_ai_config.vim b/autoload/vim_ai_config.vim index ef3c863..41932de 100644 --- a/autoload/vim_ai_config.vim +++ b/autoload/vim_ai_config.vim @@ -1,3 +1,5 @@ +let s:plugin_root = expand('<sfile>:p:h:h') + let g:vim_ai_complete_default = { \ "engine": "complete", \ "options": { @@ -73,6 +75,9 @@ endif if !exists("g:vim_ai_token_file_path") let g:vim_ai_token_file_path = "~/.config/openai.token" endif +if !exists("g:vim_ai_roles_config_file") + let g:vim_ai_roles_config_file = s:plugin_root . "/roles-example.ini" +endif function! vim_ai_config#ExtendDeep(defaults, override) abort let l:result = a:defaults |