Accept a list, allowing 'NONE' to avoid duplicates

This commit is contained in:
Michael Goerz 2018-02-03 20:14:37 -05:00
parent df960e8b9c
commit 9c60e7f6c6
2 changed files with 18 additions and 11 deletions

View File

@ -1086,7 +1086,14 @@ function! s:ExecuteCtagsOnFile(fname, realfname, typeinfo) abort
"intended to be in an argument, spaces in a single ctag_args
"string would be ambiguous. Is the space an argument separator
"or to be included in the argument
let ctags_args = [ '-f',
let ctags_args = []
if exists('g:tagbar_ctags_options')
for value in g:tagbar_ctags_options
call add(ctags_args, '--options='.value)
endfor
fi
let ctags_args = ctags_args + [
\ '-f',
\ '-',
\ '--format=2',
\ '--excmd=pattern',
@ -1096,10 +1103,6 @@ function! s:ExecuteCtagsOnFile(fname, realfname, typeinfo) abort
\ '--sort=no',
\ '--append=no'
\ ]
if exists('g:tagbar_ctags_options')
let ctags_args = add(ctags_args,
\ '--options='.g:tagbar_ctags_options)
fi
" verbose if debug enabled
if tagbar#debug#enabled()

View File

@ -394,16 +394,20 @@ Example:
g:tagbar_ctags_options
Default: undefined
Use this option to specify the '--options' flag for the ctags executable,
reading in an additional ctags configuration file. This is similar to the
deffile key for tagbar type extensions, see |tagbar-extend|, but acts
globally.
Use this option to specify a list of filenames to pass to ctags with the
'--options' flag. This is similar to the deffile key for tagbar type
extensions, see |tagbar-extend|, but acts globally. The special value 'NONE'
as the first entry disables reading of the default configuration files (e.g.
~/.ctags). Without this, if ~/.ctags and other files listed in
g:tagbar_ctags_options include some of the same patterns, tagbar might show
duplicate entries.
Example:
>
let g:tagbar_ctags_options = split(&rtp,",")[0].'/ctags.cnf'
let g:tagbar_ctags_options = ['NONE', split(&rtp,",")[0].'/ctags.cnf']
This makes sure that ctags is called with options from ~/.vim/ctags.cnf
This causes ctags to use settings from ~/.vim/ctags.cnf, ignoring other
configuration files.
*g:tagbar_left*