The variable g:UltiSnipsSnippetDirectories including its documentation was introduced in b47e686. There the documentation read
> let g:UltiSnipsSnippetDirectories=[$HOME.'/.vim/UltiSnips']
This example was later changed in #775, claiming that this variable needs to be a string. This seems to have been done in error, so this change reverts that PR back to the original documentation.
Fixes#815.
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!
Deoplete expects to carry out the filtering of snippets by default, but the UltiSnips source uses UltiSnips#SnippetsInCurrentScope() which filters the returned snippets based on user input. Without is_volatile, Deoplete will cache the first set of results UltiSnips returns and keep trying to filter that, rather than getting a new set of results when the input changes.
Emphasizing 'not' as '*not*' causes :helptags to generate a tag called
'not'. Because people like writing '*not*' in their documentations, this
can cause duplicate ta conflicts with other plugins (e.g. Command-T's
doc also generates a 'not' tag).
* Improve/simplify filetype handling for buffers
There is no need to have a FileType autocmd anymore, which for some odd
reason even had to be in "ftdetect"?!
Now it will just use the `&filetype` property from buffers, instead of
updating it on FileType events.
This allows for easier lazy-loading of UltiSnips; without this patch it
would not have updated the list of filetypes for the buffer after just
being triggered (e.g. through NeoBundle's lazy-loading).
I am using the following currently:
NeoBundleLazy 'SirVer/ultisnips', {
\ 'on_funcs': ['UltiSnips#ExpandSnippetOrJump']}
inoremap <silent> <c-j> <C-R>=UltiSnips#ExpandSnippetOrJump()<cr>
By manually defining the mapping for the trigger, I can invoke it and
NeoBundle will trigger the loading of the plugin.