diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2019-05-25 20:48:55 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2019-05-25 20:48:55 +1200 |
commit | 79ee83eac32dbadf722df687e65f07d75a2f8eaf (patch) | |
tree | 99e9390edd84449ef71c8b1d127bf2a4e840fbf8 | |
parent | Merge branch 'release/v1.1.0' (diff) | |
parent | Bump VERSION (diff) | |
download | vim-paste-open-79ee83eac32dbadf722df687e65f07d75a2f8eaf.tar.gz vim-paste-open-79ee83eac32dbadf722df687e65f07d75a2f8eaf.zip |
* release/v2.0.0:
Update doc date
Break up an autocmd line
Combine load guard checks
Move functions out to autoload
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | autoload/paste_open.vim | 34 | ||||
-rw-r--r-- | doc/paste_open.txt | 2 | ||||
-rw-r--r-- | plugin/paste_open.vim | 43 |
4 files changed, 39 insertions, 42 deletions
@@ -1 +1 @@ -1.1.0 +2.0.0 diff --git a/autoload/paste_open.vim b/autoload/paste_open.vim new file mode 100644 index 0000000..915f547 --- /dev/null +++ b/autoload/paste_open.vim @@ -0,0 +1,34 @@ +" 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/doc/paste_open.txt b/doc/paste_open.txt index a72dea2..58a3acd 100644 --- a/doc/paste_open.txt +++ b/doc/paste_open.txt @@ -1,4 +1,4 @@ -*paste_open.txt* For Vim version 7.0 Last change: 2018 June 21 +*paste_open.txt* For Vim version 7.0 Last change: 2019 May 25 DESCRIPTION *paste_open* diff --git a/plugin/paste_open.vim b/plugin/paste_open.vim index 0264e00..6985e2d 100644 --- a/plugin/paste_open.vim +++ b/plugin/paste_open.vim @@ -7,52 +7,15 @@ " Author: Tom Ryder <tom@sanctum.geek.nz> " License: Same as Vim itself " -if exists('loaded_paste_open') || &compatible - finish -endif -if v:version < 700 +if exists('loaded_paste_open') || &compatible || v:version < 700 finish 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 |