- Remove support for python 3.2 to reduce number of test cases and because
it actually fails with Neovim. It is not a supported version anyways.
- Due to Neovim not handling fast typing through the console properly
(https://github.com/neovim/neovim/issues/2454), the typing is actually
simulated through the Python client. We need to differentiate now if a
keystroke is meant for the terminal or for the Vim session. Using
neovim.input() introduces additional chances for races since inputs
are not buffered but processed right away. This results in more
retries for some tests.
- Neovim needs more parameters and configuration passed in through the
test script. Added command line arguments for these.
- Skip an extra test under Neovim due to
https://github.com/neovim/python-client/issues/128.
The python module is now pulled in autoload/UltiSnips.vim. This means
that parsing of the .vimrc will only map the keys and set some options -
very cheap.
Unfortunately, the autocommands set up in plugin/UltiSnips.vim pulls in
the python code basically immediately still.
Any test that alters the unnamed register can cause subsequent tests to
fail if there is an issues saving and restoring the register. Let's
make the test infrastructure more robust against this issue by resetting
the unnamed register to an empty string.