neovim/neovim — pull request #895 by tarruda (2014-06-26 21:53:27+00:00)
Title: [WIP/RFC] Core service providers with python and clipboard support

This PR will:

- Provide a basic infrastructure for implementing core services through the msgpack API
- Implement all python-related functions and commands for vim, adding some support to python plugins(pre 7.4).
- Add clipboard support using the same mechanism

It seems the basic features of Gundo, UltiSnips, Omnisharp and YouCompleteMe are ok, but YouCompleteMe is very slow(its possible that some neovim-specific tweaking will be required).

To test python plugins, my private [python client branch](https://github.com/tarruda/python-client/tree/scripting-support) is required(it has a hardcoded log configuration to /tmp/script-host.log). YouCompleteMe users should probably test for `!has('neovim')` before loading the plugin.

I also plan to add options for customizing the command used to start the providers(to use PyPy for example), but that will go in another PR.

In the future, the provider module will be used to externalize or override more core services, such as code completion(projects like YouCompleteMe will have first class support in Neovim) or the spell checker.

CC @SirVer @Valloric @Shougo @ZyX-I for feedback