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, ':~'))  | 
