diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2019-05-25 20:45:31 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2019-05-25 20:45:31 +1200 |
commit | 6307e42f88cf689b083fe474086444f0537bd02b (patch) | |
tree | d3b2b6ac2eda5063f3af8f71b66a972f2c2cab87 | |
parent | Merge branch 'release/v1.1.0' into develop (diff) | |
download | vim-paste-open-6307e42f88cf689b083fe474086444f0537bd02b.tar.gz vim-paste-open-6307e42f88cf689b083fe474086444f0537bd02b.zip |
Move functions out to autoload
-rw-r--r-- | autoload/paste_open.vim | 33 | ||||
-rw-r--r-- | plugin/paste_open.vim | 38 |
2 files changed, 35 insertions, 36 deletions
diff --git a/autoload/paste_open.vim b/autoload/paste_open.vim new file mode 100644 index 0000000..fa4c032 --- /dev/null +++ b/autoload/paste_open.vim @@ -0,0 +1,33 @@ +" Initialise paste cache variable +let s:paste_save = &paste + +" Start paste mode, establish hook to end it +function! paste_open#Start() abort + + " Cache the current paste setting, and set it if not already + let s:paste_save = &paste + if !&paste + set paste + endif + + " Set up grouped hook to end paste mode + augroup paste_open + autocmd! + autocmd InsertLeave * call paste_open#Finish() + augroup END + +endfunction + +" End paste mode +function! paste_open#Finish() abort + + " Clear hook and now-unneeded group + autocmd! paste_open + augroup! paste_open + + " Restore previous paste setting + if !s:paste_save + set nopaste + endif + +endfunction diff --git a/plugin/paste_open.vim b/plugin/paste_open.vim index 0264e00..e3102ad 100644 --- a/plugin/paste_open.vim +++ b/plugin/paste_open.vim @@ -15,44 +15,10 @@ if v:version < 700 endif let loaded_paste_open = 1 -" Initialise paste cache variable -let s:paste_save = &paste - -" Start paste mode, establish hook to end it -function! s:Start() abort - - " Cache the current paste setting, and set it if not already - let s:paste_save = &paste - if !&paste - set paste - endif - - " Set up grouped hook to end paste mode - augroup paste_open - autocmd! - autocmd InsertLeave * call s:Finish() - augroup END - -endfunction - -" End paste mode -function! s:Finish() abort - - " Clear hook and now-unneeded group - autocmd! paste_open - augroup! paste_open - - " Restore previous paste setting - if !s:paste_save - set nopaste - endif - -endfunction - " Set up mappings nnoremap <silent> <unique> \ <Plug>(PasteOpenBelow) - \ :<C-U>call <SID>Start()<CR>o + \ :<C-U>call paste_open#Start()<CR>o nnoremap <silent> <unique> \ <Plug>(PasteOpenAbove) - \ :<C-U>call <SID>Start()<CR>O + \ :<C-U>call paste_open#Start()<CR>O |