diff --git a/syntax/tagbar.vim b/syntax/tagbar.vim index df53682..ce5bf45 100644 --- a/syntax/tagbar.vim +++ b/syntax/tagbar.vim @@ -8,32 +8,24 @@ scriptencoding utf-8 if exists("b:current_syntax") - finish + finish endif -let s:ic = g:tagbar_iconchars[0] -if s:ic =~ '[]^\\-]' - let s:ic = '\' . s:ic -endif -let s:io = g:tagbar_iconchars[1] -if s:io =~ '[]^\\-]' - let s:io = '\' . s:io -endif - -let s:pattern = '\([' . s:ic . s:io . '] \?\)\@<=[^-+: ]\+[^:]\+$' +let s:ics = escape(join(g:tagbar_iconchars, ''), ']^\-') +let s:pattern = '\(^[' . s:ics . '] \?\)\@<=[^-+: ]\+[^:]\+$' execute "syntax match TagbarKind '" . s:pattern . "'" -let s:pattern = '\([' . s:ic . s:io . '][-+# ]\?\)\@<=[^*(]\+\(\*\?\(([^)]\+)\)\? :\)\@=' +let s:pattern = '\(\S\@