The easytags#update() function previously used the variable argument list notation `...' but I just found out [the hard way] that this only supports up to 20 arguments. Therefor I've now changed easytags#update() to receive a list of zero or more filenames as its third argument.
Dynamic highlighting supports C/C++ function prototypes to enable highlighting of library functions based on just the headers, but until now the easytags.vim plug-in didn't request ctags to include function prototypes. Now it does so automatically.
I developed (parts of) my shell.vim plug-in after noticing the annoying command prompt windows that pop up temporarily on Windows when the easytags plug-in runs ctags. Because the shell.vim plug-in was a proof of concept I hadn't published any integration between the two plug-ins. Since then I've had several requests for this so here it is :-)
* The :UpdateTags command now passes any arguments given to it on to Exuberant Ctags, which sounds simple enough but required a complex implementation. This means users can now do things like: :UpdateTags -R ~/.vim Because Ctags can be run easily from inside Vim, users won't have to run it manually from the command line. The plug-in also makes sure the required command-line options to Ctags are always used. * Fixed a problem most users will probably never encounter. I'm not sure whether this is by design or an implementation detail but it's possible for the "!_TAG_FILE_SORTED" header to appear after one or more tags and Vim will apparently still use the header! For this reason the easytags#write_tagsfile() function should also recognize it, otherwise Vim might complain with "E432: Tags file not sorted". * Always sort tags in easytags#write_tagsfile() (understands foldcase) * Finally documented the :UpdateTags and :HighlightTags commands. * The dynamic highlighting can now be disabled for individual buffers, which can come in handy when the highlighting conflicts with another plug-in: Just set the 'b:easytags_nohl' variable to any value. * Removed hard wrapping from README.md because I've recently switched to a 21" external monitor ;-)
Previously* I fixed a bug where easytags.vim failed to register the global tags file created by the plug-in with Vim, because even though the &tags option was set by the plug-in, Vim would refuse to acknowledge the new tags file, i.e. tagfiles() == . The fix then was to change :let &tags= to :set tags= which apparently has a different implementation from :let &tags=?! I assumed this fix would be valid for both Windows and UNIX, but apparently this still doesn't work on Windows! There we actually have to use feedkeys() to convince Vim to change the &tags option... What a hack! :-( BTW I also fixed an embarrassing typo in the initialization code. * Bug fix for strange "E433: No tags file" problem: http://github.com/xolox/vim-easytags/commit/4fef0c17749e687d670b2e9e4e429022ec4c1055
The plug-in is supposed to automatically register the global tags file with Vim by setting the "tags" option but this didn't work because of what's probably a bug in Vim: When you set the "tags" option using the following syntax, Vim will fail to add the new tags file: let &tags = ... But when you switch to the following syntax it works: :set tags=...