diff options
Diffstat (limited to 'autoload')
-rw-r--r-- | autoload/xolox/easytags.vim | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/autoload/xolox/easytags.vim b/autoload/xolox/easytags.vim index e9944c9..6a1de96 100644 --- a/autoload/xolox/easytags.vim +++ b/autoload/xolox/easytags.vim @@ -1,6 +1,6 @@ " Vim script " Author: Peter Odding <peter@peterodding.com> -" Last Change: June 18, 2011 +" Last Change: June 24, 2011 " URL: http://peterodding.com/code/vim/easytags/ " Public interface through (automatic) commands. {{{1 @@ -483,16 +483,21 @@ function! s:cache_tagged_files_in(fname, ftime, entries) " {{{3 endfunction function! xolox#easytags#get_tagsfile() " {{{2 + " Look for a writable project specific tags file? + if g:easytags_dynamic_files + let files = tagfiles() + if len(files) > 0 && filewritable(files[0]) == 1 + return files[0] + endif + endif + " Default to the global tags file. let tagsfile = expand(g:easytags_file) - if !empty(g:easytags_by_filetype) && !empty(&filetype) + " Check if a file type specific tags file is useful? + if !empty(g:easytags_by_filetype) && index(xolox#easytags#supported_filetypes(), &ft) >= 0 let directory = xolox#misc#path#absolute(g:easytags_by_filetype) let tagsfile = xolox#misc#path#merge(directory, &filetype) - elseif g:easytags_dynamic_files - let files = tagfiles() - if len(files) > 0 - let tagsfile = files[0] - endif endif + " If the tags file exists, make sure it is writable! if filereadable(tagsfile) && filewritable(tagsfile) != 1 let message = "The tags file %s isn't writable!" throw printf(message, fnamemodify(tagsfile, ':~')) |