diff options
| author | Martin Bielik <mx.bielik@gmail.com> | 2024-03-24 11:55:49 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-24 11:55:49 +0100 |
| commit | b75b5be5dcf762b76d832eae4f7814824a479e88 (patch) | |
| tree | e7f1851a38c169d96618455ce05b7a8534ac01b5 /autoload/vim_ai.vim | |
| parent | edd54923c2caa81066e637da50f76905bb1c3a11 (diff) | |
| parent | 50e4da43a59107e39c5523accab2ed62f9d0cedf (diff) | |
| download | vim-ai-b75b5be5dcf762b76d832eae4f7814824a479e88.tar.gz | |
Merge pull request #89 from Konfekt/paste
automatically unset &paste also after failed command
Diffstat (limited to '')
| -rw-r--r-- | autoload/vim_ai.vim | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/autoload/vim_ai.vim b/autoload/vim_ai.vim index 47a9f03..a37ddad 100644 --- a/autoload/vim_ai.vim +++ b/autoload/vim_ai.vim @@ -79,15 +79,14 @@ function! s:OpenChatWindow(open_conf) endfunction function! s:set_paste(config) - if a:config['ui']['paste_mode'] - setlocal paste - endif -endfunction - -function! s:set_nopaste(config) - if a:config['ui']['paste_mode'] - setlocal nopaste - endif + if !a:config['ui']['paste_mode'] | return | endif + if &paste | return | endif + setlocal paste + augroup AiPaste + autocmd! + autocmd ModeChanged i:* exe 'set nopaste' + autocmd! AiPaste InsertLeave + augroup END endfunction function! s:GetSelectionOrRange(is_selection, ...) @@ -153,7 +152,6 @@ function! vim_ai#AIRun(config, ...) range endif execute "py3file " . s:complete_py execute "normal! " . a:lastline . "G" - call s:set_nopaste(l:config) endfunction " Edit prompt @@ -184,7 +182,6 @@ function! vim_ai#AIEditRun(config, ...) range call s:SelectSelectionOrRange(l:is_selection, a:firstline, a:lastline) execute "normal! c" execute "py3file " . s:complete_py - call s:set_nopaste(l:config) endfunction " Start and answer the chat @@ -227,7 +224,6 @@ function! vim_ai#AIChatRun(uses_range, config, ...) range let s:last_config = a:config execute "py3file " . s:chat_py - call s:set_nopaste(l:config) endfunction " Start a new chat |