From 67616b25971ff0f4d785d67592128909ef5a5e49 Mon Sep 17 00:00:00 2001 From: Peter Odding Date: Sun, 26 Jun 2011 22:41:02 +0200 Subject: Add easytags_auto_update/auto_highlight options --- README.md | 20 ++++++++++++++++++++ autoload/xolox/easytags.vim | 38 +++++++++++++++++++++----------------- doc/easytags.txt | 28 ++++++++++++++++++++++++++++ plugin/easytags.vim | 4 ++-- 4 files changed, 71 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 870c928..32538b4 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,26 @@ As I explained above the plug-in by default doesn't update or highlight your tag Note: Like the `g:easytags_always_enabled` option, if you change this option it won't apply until you restart Vim, so you'll have to set this option in your [vimrc script][vimrc]. +### The `g:easytags_auto_update` option + +By default the plug-in automatically updates and highlights your tags when you stop typing for a moment. If you want to disable automatic updating while keeping automatic highlighting enabled you can set this option to false: + + :let g:easytags_auto_update = 0 + +If you want to disable automatic updating for a single file you can execute the following command while editing the file: + + :let b:easytags_auto_update = 0 + +### The `g:easytags_auto_highlight` option + +By default the plug-in automatically updates and highlights your tags when you stop typing for a moment. If you want to disable automatic highlighting while keeping automatic updating enabled you can set this option to false: + + :let g:easytags_auto_highlight = 0 + +If you want to disable automatic highlighting for a single file you can execute the following command while editing the file: + + :let b:easytags_auto_highlight = 0 + ### The `g:easytags_autorecurse` option When the `:UpdateTags` command is executed automatically or without arguments, it defaults to updating just the tags for the current file. If you'd rather have it recursively scan everything below the directory of the current file then set this option to true (1): diff --git a/autoload/xolox/easytags.vim b/autoload/xolox/easytags.vim index 75a2679..88a7562 100644 --- a/autoload/xolox/easytags.vim +++ b/autoload/xolox/easytags.vim @@ -1,6 +1,6 @@ " Vim script " Author: Peter Odding -" Last Change: June 24, 2011 +" Last Change: June 26, 2011 " URL: http://peterodding.com/code/vim/easytags/ " Public interface through (automatic) commands. {{{1 @@ -35,26 +35,30 @@ endfunction function! xolox#easytags#autoload() " {{{2 try " Update entries for current file in tags file? - let pathname = s:resolve(expand('%:p')) - if pathname != '' - let tags_outdated = getftime(pathname) > getftime(xolox#easytags#get_tagsfile()) - if tags_outdated || !xolox#easytags#file_has_tags(pathname) - call xolox#easytags#update(1, 0, []) + if xolox#misc#option#get('easytags_auto_update', 1) + let pathname = s:resolve(expand('%:p')) + if pathname != '' + let tags_outdated = getftime(pathname) > getftime(xolox#easytags#get_tagsfile()) + if tags_outdated || !xolox#easytags#file_has_tags(pathname) + call xolox#easytags#update(1, 0, []) + endif endif endif " Apply highlighting of tags to current buffer? - if &eventignore !~? '\' - if !exists('b:easytags_last_highlighted') - call xolox#easytags#highlight() - else - for tagfile in tagfiles() - if getftime(tagfile) > b:easytags_last_highlighted - call xolox#easytags#highlight() - break - endif - endfor + if xolox#misc#option#get('easytags_auto_highlight', 1) + if &eventignore !~? '\' + if !exists('b:easytags_last_highlighted') + call xolox#easytags#highlight() + else + for tagfile in tagfiles() + if getftime(tagfile) > b:easytags_last_highlighted + call xolox#easytags#highlight() + break + endif + endfor + endif + let b:easytags_last_highlighted = localtime() endif - let b:easytags_last_highlighted = localtime() endif catch call xolox#misc#msg#warn("easytags.vim %s: %s (at %s)", g:easytags_version, v:exception, v:throwpoint) diff --git a/doc/easytags.txt b/doc/easytags.txt index 3269541..7579a9c 100644 --- a/doc/easytags.txt +++ b/doc/easytags.txt @@ -198,6 +198,34 @@ Note: Like the |g:easytags_always_enabled| option, if you change this option it won't apply until you restart Vim, so you'll have to set this option in your |vimrc| script. +------------------------------------------------------------------------------- +The *g:easytags_auto_update* option + +By default the plug-in automatically updates and highlights your tags when you +stop typing for a moment. If you want to disable automatic updating while +keeping automatic highlighting enabled you can set this option to false: +> + :let g:easytags_auto_update = 0 + +If you want to disable automatic updating for a single file you can execute +the following command while editing the file: +> + :let b:easytags_auto_update = 0 + +------------------------------------------------------------------------------- +The *g:easytags_auto_highlight* option + +By default the plug-in automatically updates and highlights your tags when you +stop typing for a moment. If you want to disable automatic highlighting while +keeping automatic updating enabled you can set this option to false: +> + :let g:easytags_auto_highlight = 0 + +If you want to disable automatic highlighting for a single file you can +execute the following command while editing the file: +> + :let b:easytags_auto_highlight = 0 + ------------------------------------------------------------------------------- The *g:easytags_autorecurse* option diff --git a/plugin/easytags.vim b/plugin/easytags.vim index 85fb8c6..96155ae 100644 --- a/plugin/easytags.vim +++ b/plugin/easytags.vim @@ -1,6 +1,6 @@ " Vim plug-in " Author: Peter Odding -" Last Change: June 24, 2011 +" Last Change: June 26, 2011 " URL: http://peterodding.com/code/vim/easytags/ " Requires: Exuberant Ctags (http://ctags.sf.net) @@ -12,7 +12,7 @@ if &cp || exists('g:loaded_easytags') finish endif -let g:easytags_version = '2.4.6' +let g:easytags_version = '2.4.7' " Configuration defaults and initialization. {{{1 -- cgit v1.2.3