aboutsummaryrefslogtreecommitdiffstats
path: root/easytags.vim
Commit message (Collapse)AuthorAgeFilesLines
* Make Pathogen users happy :-)Peter Odding2011-03-151-175/+0
| | | | | Let's hope this works the first time... (never used git submodules before)
* Highlight C# classes, structs and methodsPeter Odding2011-02-241-1/+1
|
* Don't highlight PHP functions not followed by `('Peter Odding2011-02-241-1/+1
| | | | This improves accuracy because PHP doesn't have first class functions
* Bug fix for alias handlingPeter Odding2011-02-241-2/+2
|
* Highlighting for Python class namesPeter Odding2010-12-041-2/+2
|
* Don't highlight tags inside #include <...>Peter Odding2010-11-201-2/+2
|
* Bug fix: Canonicalize arguments to :UpdateTags!Peter Odding2010-09-061-1/+1
|
* Fixed easytags#update() to overcome argument limitPeter Odding2010-09-061-2/+2
| | | | | | | 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.
* Remove no longer needed PublishPre automatic commandPeter Odding2010-09-061-3/+2
| | | | See http://github.com/xolox/vim-publish/commit/be98f4328bb631cd4c67d8951ff7c413b7cb6355
* Fix automatic ctags detection on FreeBSD (reported by Derek Tattersall)Peter Odding2010-08-111-2/+2
|
* Always scan C sources for prototypesPeter Odding2010-08-111-1/+1
| | | | | | | 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.
* Support scanning & highlighting of struct/class membersPeter Odding2010-08-111-2/+6
|
* Support for automatic recursion using ctags -RPeter Odding2010-08-101-2/+6
|
* Automatic/optional integration with shell.vimPeter Odding2010-08-091-1/+12
| | | | | | | | 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 :-)
* Enable commands like :UpdateTags -R ~/.vimPeter Odding2010-08-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 ;-)
* Changed global msg to script-local s:msg in easytags.vimPeter Odding2010-07-201-9/+12
|
* Another bug fix for the broken :set tags= commandPeter Odding2010-07-201-18/+33
| | | | | | | | | | | | | | | | | | 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
* Mention :helptags in README, other miscellaneous changesPeter Odding2010-07-151-3/+3
|
* Bug fix for strange "E433: No tags file" problemPeter Odding2010-07-101-11/+7
| | | | | | | | | | | | | 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=...
* Version detection, better error handling, bug fix for dynamic highlightingPeter Odding2010-06-151-25/+50
| | | | | | | | | | | | | | * The plug-in now executes `ctags --version` on startup to verify that the correct version of Exuberant Ctags is installed because some systems (including Mac OS X apparently) ship with a `/usr/bin/ctags` installed that doesn't understand the extensive set of command-line arguments supported by Exuberant Ctags. * When a file was edited multiple times the dynamic highlighting wouldn't refresh because the plug-in thought the highlighting was still in effect while in reality it was cleared by reading the file again. Now the highlighting will be refreshed on the next CursorHold event like it's supposed to.
* Fixed tags file corruption on Windows!Peter Odding2010-06-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * Fixed tags file corruption on Windows: It turns out that the function readfile() accepts CR+NL line endings and just strips CR characters, however the writefile() function doesn't write CR+NL but just NL. Manually adding the CR characters to the end of each line before writing the tags file solves the corruption bug. * The headers and entries in tags files are now properly separated from each other while rewriting the tags file to filter expired entries. * Don't bother trying to filter expired tags when the tags file doesn't reference the current filename at all (improves performance a bit). * Fixed a buggy easytags#file_has_tags() call in easytags#autoload() that made the plug-in always scan each edited file at least once. * Changed folds to provide basic outline of function categories. * Restructured definitions for default configuration of dynamic syntax highlighting support so definitions don't all have to be indented. Sorry about the large diff, this version took a few days of experimentation to build which means lots of little changes.
* Bug fix for E108: No such variable: "s:entry"Peter Odding2010-06-111-2/+2
|
* Bug fix: Expand ~ to $HOME manually on Win32Peter Odding2010-06-111-2/+7
| | | | | | | | | | While testing the plug-in on Microsoft Windows I found out that ~ in the &tags option isn't expanded to $HOME by either Vim or Ctags. Unfortunately while committing all of my fixes to get Windows support working (a few commits ago) I seem to have lost this fix. While testing this fix again I now notice the tags file getting corrupted in my Windows XP virtual machine -- more debugging to do.
* Moved &tags option parsing to autoload scriptPeter Odding2010-06-101-9/+4
| | | | | | | | | | The autoload/xolox/option.vim script isn't included in this repository because I call the autoload/xolox/*.vim scripts from several of my plug-ins. If I were to include these dependencies in each plug-in repository I would find myself copy/pasting bug fixes between repositories and I don't want that. However the Makefile packages up all required autoload scripts into the ZIP archives published on www.vim.org.
* Bug fix: Add easytags_file to &tags optionPeter Odding2010-06-101-3/+24
| | | | | | | | | | | | | | | | | | | While writing the `easytags.vim` plug-in at one point I added the following line to my `~/.vimrc` script: :set tags=~/.vimtags After publishing the plug-in I totally forgot about the `tags` option and how the plug-in depends on it for all of its functionality :-S The plug-in now adds the (possibly user-defined) value of the `easytags_file` option to Vim's `tags` option, thereby making Vim's internals aware of the tags file. Oh by the way, the plug-in is now more-or-less Windows compatible. The only remaining problems are the flashing command prompt (which I know how to fix) and the fact that CursorHold seems to fire repeatedly...
* Alias support & defaults for C/C++/Obj-C/Obj-C++Peter Odding2010-06-091-2/+2
| | | | | | | | | | | | | | | | | | In my ~/.vimrc I've set the following: :let c_syntax_for_h = 1 Which means easytags.vim will also scan *.h files as C source-code. However Exuberant Ctags by default scans *.h files as C++, so when you update your global tags file as follows from the command-line: ctags -af ~/.vimtags /usr/include/lua5.1/*.h Which I happened to try today, the new tags won't be highlighted in your C source-code because Exuberant Ctags thinks it's C++ and Vim doesn't know otherwise. I've now added support for aliases between file types and added a default set of aliases between C, C++, Obj-C and Obj-C++.
* Added `easytags_ignored_filetypes` optionPeter Odding2010-06-091-1/+5
| | | | | | | | | | | | | | | | While writing a LaTeX document I found out that Exuberant Ctags was corrupting my tags file by writing invalid entries. Because half my self-developed Vim plug-ins deal with Exuberant Ctags integration which I use constantly this broke my whole environment :-) Since the main point of easytags.vim is to fully automate tags generation, corrupt files that need to be repaired by hand are unacceptable. Therefor I've added an option to enable ignoring selected file types and defined the default to exclude `*.tex` files. If you disagree with me, feel free to set the option `easytags_ignored_filetypes` to an empty string, in which case no file types will be ignored.
* Initial commitPeter Odding2010-06-061-0/+93