`self.message` is used in `__str__`.
Without this, tracebacks end like this:
Traceback (most recent call last):
[...]
File "…/vim/neobundles/jedi/jedi_vim.py", line 87, in _catch_
exception
raise VimError(result['exception'], result['throwpoint'], string)
jedi_vim.VimError: <unprintable VimError object>
This deletes the selection (by going to visual mode, and "c"), and then
triggers the completion.
This is useful with e.g. UltiSnips, when you want to start completion
with an expanded snippet argument selected.
Ref: https://github.com/davidhalter/jedi-vim/pull/339#issuecomment-97612632
- jedi#init_python is used to init the Python environment.
- jedi#setup_py_version is the single point where PythonJedi is
defined, and will configure `PythonJedi` to output an error in case
initialization failed.
- jedi#force_py_version_switch will throw an error when
g:jedi#force_py_version is not handled (e.g. invalid or "auto" and
unresolved).
- When g:jedi#force_py_version is provided, it will be used always.
- Use WarningMsg highlight for errors, which are centralized and
handled through exceptions.
Without this, the <C-x><C-o> triggered by jedi-vim would cause the first
match to be inserted (and selected). When using completopt=longest,
this was less so an issue.