diff options
author | Daniel Hahler <git@thequod.de> | 2011-04-04 21:18:24 +0200 |
---|---|---|
committer | Peter Odding <peter@peterodding.com> | 2011-04-11 21:09:11 +0200 |
commit | 3466f613e926645ac6fd6474cf0404adc416477b (patch) | |
tree | dfb944177a09c96512bfa857547d91fe3cc40a1d | |
parent | fffde4246e7cec00eac02b9fac6659ea8855124f (diff) | |
download | vim-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.vim | 23 |
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() |