aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2011-04-04 21:18:24 +0200
committerPeter Odding <peter@peterodding.com>2011-04-11 21:09:11 +0200
commit3466f613e926645ac6fd6474cf0404adc416477b (patch)
treedfb944177a09c96512bfa857547d91fe3cc40a1d
parentfffde4246e7cec00eac02b9fac6659ea8855124f (diff)
downloadvim-easytags-3466f613e926645ac6fd6474cf0404adc416477b.tar.gz
Enable deferring tags file registration (VimEnter)
By default the plug-in initializes the &tags option as soon as possible so that the global tags file is available when using "vim -t some_tag". If you don't use "vim -t" and want to defer registering the global tags file until the interface has been initialized you can now set the global variable g:easytags_register_late = 1. This commit is based on a pull request from Daniel Hahler, I added the option to enable either mode of initialization (I guess Daniel doesn't use "vim -t some_tag", but I certainly do :-). Here's the original commit message: Move calling RegisterTagsFile to `au VimEnter`. Calling RegisterTagsFile on VimEnter instead of when including the plugin appears to make it behave better when (re)setting 'tags' in vimrc. I do not remember if this is related to using tplugin only.
-rw-r--r--plugin/easytags.vim23
1 files changed, 19 insertions, 4 deletions
diff --git a/plugin/easytags.vim b/plugin/easytags.vim
index 079e912..88d894a 100644
--- a/plugin/easytags.vim
+++ b/plugin/easytags.vim
@@ -1,10 +1,10 @@
" Vim plug-in
" Author: Peter Odding <peter@peterodding.com>
-" Last Change: March 19, 2011
+" Last Change: April 11, 2011
" URL: http://peterodding.com/code/vim/easytags/
" Requires: Exuberant Ctags (http://ctags.sf.net)
" License: MIT
-" Version: 2.2.2
+" Version: 2.2.3
" Support for automatic update using the GLVS plug-in.
" GetLatestVimScripts: 3114 1 :AutoInstall: easytags.zip
@@ -50,6 +50,10 @@ if !exists('g:easytags_include_members')
let g:easytags_include_members = 0
endif
+if !exists('g:easytags_register_late')
+ let g:easytags_register_late = 0
+endif
+
function! s:InitEasyTags(version)
" Check that the location of Exuberant Ctags has been configured or that the
" correct version of the program exists in one of its default locations.
@@ -152,8 +156,13 @@ function! s:RegisterTagsFile()
endif
endfunction
-" Let Vim know about the global tags file created by this plug-in.
-call s:RegisterTagsFile()
+" By default this plug-in initializes the &tags option as soon as possible so
+" that the global tags file is available when using "vim -t some_tag". If you
+" don't use "vim -t" and want to defer registering the global tags file until
+" the interface has been initialized you can set g:easytags_register_late=1.
+if !g:easytags_register_late
+ call s:RegisterTagsFile()
+endif
" The :UpdateTags and :HighlightTags commands. {{{1
@@ -164,6 +173,12 @@ command! -bar HighlightTags call xolox#easytags#highlight()
augroup PluginEasyTags
autocmd!
+ if g:easytags_register_late
+ " This is the alternative way of registering the global tags file using
+ " the automatic command event "VimEnter". Apparently this makes the
+ " easytags plug-in behave better when used together with tplugin?
+ autocmd VimEnter * call s:RegisterTagsFile()
+ endif
if g:easytags_always_enabled
" TODO Also on FocusGained because tags files might be updated externally?
autocmd BufReadPost,BufWritePost * call xolox#easytags#autoload()