xolox/vim-easytags — pull request #84 by xolox (2014-06-22 01:36:17+00:00)
Title: Asynchronous tag updates (attempt two)

**What is this all about?**

I've reimplemented support for asynchronous tags file updates (see pull request #49 for my previous and failed attempt). Most of the complex code has moved to vim-misc so to try out this branch you need to pull the latest changes to vim-misc as well. Apart from that all you (should) need to do is add `:let g:easytags_async = 1` to your vimrc script. An easy way to demonstrate that it works is to run `:UpdateTags -R` and continue to work in Vim...

**So what's the plan?**

Once a couple of people confirm that this feature branch works for them, both in in synchronous and asynchronous mode, I will merge this into master. Then we can see when we switch the default mode to asynchronous updates :-).

**About code complexity**

Even though I pushed most of the complexity of handling asynchronous processing into `vim-misc` and I ripped out some useful features that were blocking the implementation of asynchronous updates, I'm still kind of pleased with the `diff --stat`:

```
README.md | 22 +-
autoload/xolox/easytags.vim | 582 +++++----------------------------
autoload/xolox/easytags/filetypes.vim | 122 +++++++
autoload/xolox/easytags/update.vim | 268 +++++++++++++++
autoload/xolox/easytags/utils.vim | 20 ++
doc/easytags.txt | 66 ++--
plugin/easytags.vim | 19 +-
7 files changed, 537 insertions(+), 562 deletions(-)
```

**Disclaimer:** A couple of refactorings sneaked into this feature branch because I tried to simplify and generalize code as I went on with my quest towards asynchronous tags file updates in master :-)