here is a vim option ``selection``.
if the value is `exclusive`, the mark `'>` is one more then real visual selection.
so var `ebyte` or `ec` must subtract 1.
and that is not a windows bug.
because gvim on windows sourced `$VIMRUNTIME\mswin.vim` by default.
the line 17 of `mswin.vim` execute `:behave mswin` will change option `selection` to `exclusive`.
more deailt in issue #863
This now only tests python2 on Vim 7.4, 8.0 and git. No Neovim (that has been broken for a long time anyways) and no longer any python3 testing. But hey, we have green tests again!
Grants access to:
* context match condition for context snippets (via snip.visual_text and
snip.visual_mode);
* pre/post actions (via same variable);
* context match condition to (!) lastly selected placeholder, so it is
possible now to use autotrigger snippets, that are activated by
simply typing letter while tabstop is selected;
* python interpolations to lastly selected placeholder;
It adds new type of flexibility, where just entered text can be
dynamically modified if some conditions are satisfied (e.g. dynamically
add line wraps).
UltiSnips tracks changes in buffer and apply user changes only on
CursorMoved event. So, if placeholder is replaced completely by using
<BS>, CursorMoved is not triggered and internal snippet representation
is not updated, causing placeholder boundaries go out-of-sync.
Fixed by triggering text objects sync forcefully if change without
cursor move is detected.
This ensure that we are actually testing against the python version that
we want to test again. A few weeks ago we still had the problem that all
our python3 tests ran against system python3 which was always 3.2. This
has been fixed a while ago, but this change makes sure we do not
regress.
Also fixes a couple of NOCOM comments that I left over in one of the
last commits.
- 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.