diff options
Diffstat (limited to '')
| -rw-r--r-- | ftplugin/puppet_tagbar.vim | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/ftplugin/puppet_tagbar.vim b/ftplugin/puppet_tagbar.vim new file mode 100644 index 00000000..b607ccb0 --- /dev/null +++ b/ftplugin/puppet_tagbar.vim @@ -0,0 +1,48 @@ +if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'puppet') != -1 +  finish +endif + +" Puppet set up for Tagbar plugin +" (https://github.com/majutsushi/tagbar). + +if !exists(':Tagbar') +    finish +endif + +let g:tagbar_type_puppet = { +  \ 'ctagstype': 'puppet', +  \ 'kinds': [ +    \ 'c:Classes', +    \ 's:Sites', +    \ 'n:Nodes', +    \ 'v:Variables', +    \ 'i:Includes', +    \ 'd:Definitions', +    \ 'r:Resources', +    \ 'f:Defaults', +    \ 't:Types', +    \ 'u:Functions', +  \], +\} + +if puppet#ctags#Type() == 'universal' +    " There no sense to split objects by colon +    let g:tagbar_type_puppet.sro = '__' +    let g:tagbar_type_puppet.kind2scope = { +      \ 'd': 'definition', +      \ 'c': 'class', +      \ 'r': 'resource', +      \ 'i': 'include', +      \ 'v': 'variable', +    \} +    let g:tagbar_type_puppet.scope2kind = { +      \ 'definition' : 'd', +      \ 'class'      : 'c', +      \ 'resource'   : 'r', +      \ 'include'    : 'i', +      \ 'variable'   : 'v', +    \} +endif + +let g:tagbar_type_puppet.deffile = puppet#ctags#OptionFile() + | 
