| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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=...
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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: 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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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++.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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...
|
| |
|
|
|