From 0c57fc8380c809d2efd4bdb727874536569d489e Mon Sep 17 00:00:00 2001 From: Peter Odding Date: Sun, 6 Jun 2010 10:13:56 +0200 Subject: Initial commit --- easytags.vim | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 easytags.vim (limited to 'easytags.vim') diff --git a/easytags.vim b/easytags.vim new file mode 100644 index 0000000..31bf9d0 --- /dev/null +++ b/easytags.vim @@ -0,0 +1,93 @@ +" Vim plug-in +" Maintainer: Peter Odding +" Last Change: June 6, 2010 +" URL: http://peterodding.com/code/vim/easytags +" Requires: Exuberant Ctags (http://ctags.sf.net) +" License: MIT +" Version: 1.6 + +" Support for automatic update using the GLVS plug-in. +" GetLatestVimScripts: 3114 1 :AutoInstall: easytags.zip + +" Don't source the plug-in when its already been loaded or &compatible is set. +if &cp || exists('g:loaded_easytags') + finish +endif + +" Configuration defaults. {{{1 + +if !exists('g:easytags_file') + if has('win32') || has('win64') + let g:easytags_file = '~/_vimtags' + else + let g:easytags_file = '~/.vimtags' + endif +endif + +if !exists('g:easytags_resolve_links') + let g:easytags_resolve_links = 0 +endif + +if !exists('g:easytags_always_enabled') + let g:easytags_always_enabled = 0 +endif + +if !exists('g:easytags_on_cursorhold') + let g:easytags_on_cursorhold = 1 +endif + +" Before sourcing the rest of the plug-in first check that the location of the +" "Exuberant Ctags" program has been configured or that the program exists in +" one of its default locations. + +if exists('g:easytags_cmd') && executable(g:easytags_cmd) + let s:ctags_installed = 1 +else + " On Ubuntu Linux, Exuberant Ctags is installed as `ctags'. On Debian Linux, + " Exuberant Ctags is installed as `exuberant-ctags'. On Free-BSD, Exuberant + " Ctags is installed as `exctags'. Finally there is `ctags.exe' on Windows. + for s:command in ['ctags', 'exuberant-ctags', 'esctags', 'ctags.exe'] + if executable(s:command) + let g:easytags_cmd = s:command + let s:ctags_installed = 1 + break + endif + endfor +endif + +if !exists('s:ctags_installed') + echomsg "easytags.vim: Exuberant Ctags unavailable! Plug-in not loaded." + if executable('apt-get') + echomsg "On Ubuntu & Debian Linux, you can install Exuberant Ctags" + echomsg "by installing the package named `exuberant-ctags':" + echomsg " sudo apt-get install exuberant-ctags" + else + echomsg "Please download & install Exuberant Ctags from http://ctags.sf.net" + endif + finish +endif + +" The :UpdateTags and :HighlightTags commands. {{{1 + +command! -bar -bang UpdateTags call easytags#update_cmd( == '!') +command! -bar HighlightTags call easytags#highlight_cmd() + +" Automatic commands. {{{1 + +augroup PluginEasyTags + autocmd! + if g:easytags_always_enabled + autocmd BufReadPost,BufWritePost * call easytags#autoload() + endif + if g:easytags_on_cursorhold + autocmd CursorHold,CursorHoldI * call easytags#autoload() + endif + autocmd User PublishPre HighlightTags +augroup END + +" }}}1 + +" Make sure the plug-in is only loaded once. +let g:loaded_easytags = 1 + +" vim: ts=2 sw=2 et -- cgit v1.2.3