Tweak the ftplugin

Update the ftplugin to behave better. This means use b:did_ftplugin,
toggle cpo as appropriate, and define a b:undo_ftplugin.
This commit is contained in:
Kevin Ballard 2014-08-05 18:03:36 -07:00
parent 1292b0faea
commit a69764dff6

View File

@ -1,5 +1,13 @@
" Set some sane defaults for snippet files " Set some sane defaults for snippet files
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
let s:save_cpo = &cpo
set cpo&vim
" Fold by syntax, but open all folds by default " Fold by syntax, but open all folds by default
setlocal foldmethod=syntax setlocal foldmethod=syntax
setlocal foldlevel=99 setlocal foldlevel=99
@ -14,6 +22,7 @@ setlocal autoindent nosmartindent nocindent
if exists("loaded_matchit") && !exists("b:match_words") if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 0 let b:match_ignorecase = 0
let b:match_words = '^snippet\>:^endsnippet\>,^global\>:^endglobal\>,\${:}' let b:match_words = '^snippet\>:^endsnippet\>,^global\>:^endglobal\>,\${:}'
let s:set_match_words = 1
endif endif
" Add TagBar support " Add TagBar support
@ -24,3 +33,15 @@ let g:tagbar_type_snippets = {
\ ], \ ],
\ 'deffile': expand('<sfile>:p:h:h') . '/ctags/UltiSnips.cnf', \ 'deffile': expand('<sfile>:p:h:h') . '/ctags/UltiSnips.cnf',
\ } \ }
" don't unset g:tagbar_type_snippets, it serves no purpose
let b:undo_ftplugin = "
\ setlocal foldmethod< foldlevel< commentstring<
\|setlocal expandtab< autoindent< smartindent< cindent<
\|if get(s:, 'set_match_words')
\|unlet! b:match_ignorecase b:match_words s:set_match_words
\|endif
\"
let &cpo = s:save_cpo
unlet s:save_cpo