diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-17 15:00:23 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-17 15:00:23 +1200 |
commit | d6add13a718e260b27a54c80d840f46206faf95d (patch) | |
tree | 7e55e6fd05d24bb54037c9c4e337c29e0ce2d3f3 /vim | |
parent | Refine compiler#Make() function (diff) | |
download | dotfiles-d6add13a718e260b27a54c80d840f46206faf95d.tar.gz dotfiles-d6add13a718e260b27a54c80d840f46206faf95d.zip |
Use autoload function for tidy filters
Diffstat (limited to 'vim')
-rw-r--r-- | vim/after/ftplugin/html/tidy.vim | 19 | ||||
-rw-r--r-- | vim/after/ftplugin/perl/tidy.vim | 19 | ||||
-rw-r--r-- | vim/autoload/filter.vim | 7 |
3 files changed, 19 insertions, 26 deletions
diff --git a/vim/after/ftplugin/html/tidy.vim b/vim/after/ftplugin/html/tidy.vim index 5a8ded7e..3faefcb7 100644 --- a/vim/after/ftplugin/html/tidy.vim +++ b/vim/after/ftplugin/html/tidy.vim @@ -15,27 +15,20 @@ if &filetype !=# 'html' finish endif +" Don't load if the user doesn't want ftplugin mappings +if exists('g:no_plugin_maps') || exists('g:no_html_maps') + finish +endif + " Flag as loaded let b:did_ftplugin_html_tidy = 1 let b:undo_ftplugin = b:undo_ftplugin \ . '|unlet b:did_ftplugin_html_tidy' -" Plugin function -function s:HtmlTidy() - let l:view = winsaveview() - %!tidy -quiet - call winrestview(l:view) -endfunction - -" Stop here if the user doesn't want ftplugin mappings -if exists('g:no_plugin_maps') || exists('g:no_html_maps') - finish -endif - " Define a mapping target nnoremap <buffer> <silent> <unique> \ <Plug>HtmlTidy - \ :<C-U>call <SID>HtmlTidy()<CR> + \ :<C-U>call filter#Stable('tidy -quiet')<CR> let b:undo_ftplugin = b:undo_ftplugin \ . '|nunmap <buffer> <Plug>HtmlTidy' diff --git a/vim/after/ftplugin/perl/tidy.vim b/vim/after/ftplugin/perl/tidy.vim index f6744f3a..64f0eda2 100644 --- a/vim/after/ftplugin/perl/tidy.vim +++ b/vim/after/ftplugin/perl/tidy.vim @@ -10,27 +10,20 @@ if exists('b:did_ftplugin_perl_tidy') finish endif +" Don't load if the user doesn't want ftplugin mappings +if exists('g:no_plugin_maps') || exists('g:no_perl_maps') + finish +endif + " Flag as loaded let b:did_ftplugin_perl_tidy = 1 let b:undo_ftplugin = b:undo_ftplugin \ . '|unlet b:did_ftplugin_perl_tidy' -" Plugin function -function s:PerlTidy() - let l:view = winsaveview() - %!perltidy - call winrestview(l:view) -endfunction - -" Stop here if the user doesn't want ftplugin mappings -if exists('g:no_plugin_maps') || exists('g:no_perl_maps') - finish -endif - " Define a mapping target nnoremap <buffer> <silent> <unique> \ <Plug>PerlTidy - \ :<C-U>call <SID>PerlTidy()<CR> + \ :<C-U>call filter#Stable('perltidy')<CR> let b:undo_ftplugin = b:undo_ftplugin \ . '|nunmap <buffer> <Plug>PerlTidy' diff --git a/vim/autoload/filter.vim b/vim/autoload/filter.vim new file mode 100644 index 00000000..f499f432 --- /dev/null +++ b/vim/autoload/filter.vim @@ -0,0 +1,7 @@ +" Run a filter over the entire buffer, but save the window position and +" restore it after doing so +function! filter#Stable(command) abort + let l:view = winsaveview() + execute '%' . a:command + call winrestview(l:view) +endfunction |