aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bug fix for broken alias support (reported by zhang xinli)Peter Odding2010-08-101-3/+7
|
* Automatic/optional integration with shell.vimPeter Odding2010-08-093-67/+82
| | | | | | | | 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-094-210/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
|
* Qualified filetype_asp with g: scope just to be clearPeter Odding2010-07-201-1/+1
|
* Another bug fix for the broken :set tags= commandPeter Odding2010-07-203-22/+41
| | | | | | | | | | | | | | | | | | 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
* Create case folded tags files when &ignorecase is onPeter Odding2010-07-181-2/+4
|
* Mention :helptags in README, other miscellaneous changesPeter Odding2010-07-153-15/+15
|
* Replaced makefile with custom external Python scriptPeter Odding2010-07-101-25/+0
|
* 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=...
* Handle patterns that are too large for Vim to evaluatePeter Odding2010-07-102-3/+33
|
* Improved README, added references to Vim documentationPeter Odding2010-07-101-28/+37
|
* Changed download linkPeter Odding2010-06-181-1/+1
|
* Moved generation of HTML documentation to my websitePeter Odding2010-06-183-53/+13
|
* Proper handling of unnamed buffersPeter Odding2010-06-161-10/+20
|
* Bug fix for E713: Cannot use empty key for DictionaryPeter Odding2010-06-161-2/+2
|
* Mention version detection in READMEPeter Odding2010-06-151-0/+40
|
* Version detection, better error handling, bug fix for dynamic highlightingPeter Odding2010-06-153-37/+78
| | | | | | | | | | | | | | * 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.
* Bug fix: Ignore missing tags file when caching tagged filesPeter Odding2010-06-141-3/+8
|
* Fixed tags file corruption on Windows!Peter Odding2010-06-132-161/+201
| | | | | | | | | | | | | | | | | | | | | | | | | * 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: Include autoload/xolox/option,vim in MakefilePeter Odding2010-06-111-1/+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.
* Dynamic highlighting for Java identifiersPeter Odding2010-06-101-0/+15
|
* TODO about flashing command prompt window on Win32Peter Odding2010-06-101-0/+5
|
* 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...
* Remove some more-or-less redundant timer callsPeter Odding2010-06-101-6/+0
|
* Bug fix: Make sure tags include "language" fieldPeter Odding2010-06-101-5/+2
| | | | | | | The dynamic syntax highlighting performed by `easytags.vim` depends on the extra "language" field which Exuberant Ctags can be instructed to add to tags files with the --fields=+l command-line argument, however the `:UpdateTags` command didn't add the --fields argument! Now it does.
* Minor logic tweaks, might improve performancePeter Odding2010-06-101-2/+2
|
* Scan files not contained in tags file on 1st :editPeter Odding2010-06-101-2/+48
|
* Make sure there's something to highlight before doing soPeter Odding2010-06-101-4/+6
|
* Alias support & defaults for C/C++/Obj-C/Obj-C++Peter Odding2010-06-092-4/+34
| | | | | | | | | | | | | | | | | | 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++.
* TODO about possible Vim bug, updated latest zip link in READMEPeter Odding2010-06-092-1/+22
|
* Added `easytags_ignored_filetypes` optionPeter Odding2010-06-092-7/+12
| | | | | | | | | | | | | | | | 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.
* Fixed typo in READMEPeter Odding2010-06-061-1/+1
|
* Made README more consistentPeter Odding2010-06-061-1/+1
|
* Wrapped public facing functions in try/catch blocksPeter Odding2010-06-061-82/+99
| | | | | | The plug-in used an inconsistent mix of error handling using both :throw and :echoerr. The public facing functions have now been wrapped in try/catch blocks and all internal functions :throw error message strings.
* Moved script-local function s:unique() to autoload scriptPeter Odding2010-06-062-19/+5
| | | | | | On the one hand I don't want to force people to download half my Vim profile before they can try one of the plug-ins I've written, but on the other hand I don't want to keep copy/pasting miscellaneous functions all over the place...
* Updated README with instructions on installing ctagsPeter Odding2010-06-061-0/+6
|
* Initial commitPeter Odding2010-06-067-0/+581