| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"python -c" returns 1 in case of an error. Use a return code of 2 if
the Neovim module is not found to distinguish these cases.
Verify the interpreter version before checking for an installed Neovim
module. Show a new error message if the Python interpreter version
is below the minimum required version.
Always use "pkgutil" to determine if the Neovim module is installed.
In contrast to "importlib", which was used for Python 3,
"pkgutil.find_loader" is available for all Python versions [1,2].
"pkgutil.find_loader" internally uses "importlib" for Python >= 3.3 [2].
Also, the previously used "importlib.find_loader" is only available
since Python 3.3 (so checking the major Python version was not enough)
and deprecated since Python 3.4 [3].
Finally, conditioning on the major version in Vimscript was incorrect,
as checking the Neovim module for a certain Python major version does
not mean that the tested interpreters are actually of that version.
For example, we test the "python" executable, which is Python 2 on
Ubuntu and Python 3 on Arch Linux.
[1] https://docs.python.org/2/library/pkgutil.html#pkgutil.find_loader
[2] https://docs.python.org/3/library/pkgutil.html#pkgutil.find_loader
[3] https://docs.python.org/3/library/importlib.html#importlib.find_loader
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to the vim helpfile:
> fnamemodify({fname}, {mods})
> ...
> Note: Environment variables don't work in {fname}, use
> expand() first then.
So this causes issues if your $MYVIMRC contains environment variables
(e.g. $XDG_CONFIG_HOME)
|
|
|
|
|
|
|
|
|
|
| |
Before, running Nvim in a directory containing a Python module `neovim`,
or one that is imported by it or a plugin, will load that module and not
the system one. So Nvim might be tricked into running arbitrary scripts
from the current working directory.
Fixes #1665
Fixes #2530
|
| |
|
|\
| |
| | |
Python: fixes for sys.path_hooks handler
|
| |
| |
| |
| | |
This method was not used, but `VimModuleLoader.load_module` is.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The path hook used to load the module already in the `find_module` hook.
This caused different behaviour between Python 2.7 and 3.3, where the
former would call the `VimModuleLoader`, while Python 3.3 appears to
short-circuited this (because the module was loaded already).
This patch will now only find the module, but not load it in the
`find_module` hook.
|
| |
| |
| |
| | |
This is required by PEP302 for `reload()`ing modules.
|
| |
| |
| |
| | |
Fixes https://github.com/neovim/neovim/issues/2909
|
| | |
|
|\ \
| | |
| | | |
runtime: Include vim-tutor-mode
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
vim-tutor-mode provides a mechanism to write and read interactive
tutorials in vim. It's aim is to replace the venerable vimtutor with a
more modern system.
The plugin's development is maintained at https://github.com/fmoralesc
/vim-tutor-mode
Closes #2351.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Update runtime files.
https://code.google.com/p/vim/source/detail?r=5d89d9b40499059e1a64dc35fbae94313fba0098
|
| | |
| | |
| | |
| | |
| | | |
DecodeHook isn't needed since neovim/python-client#53
rpc methods won't pass bytes anymore, ref neovim/python-client#129
|
| |/
|/|
| |
| |
| | |
This makes it possible to register a lazy loaded host in a plugin/ file.
Previously this caused an error on restart after :UpdateRemotePlugins
|
|/ |
|
|
|
|
|
|
| |
Fixes #2712
Helped-By: Michael Reed <m.reed@mykolab.com>
|
|
|
|
| |
Helped-By: Justin M. Keyes <justinkz@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The executable 'python' can refer to either Python 2 or Python 3. Add a
check to only accept Python 2 interpreters as providers for +python.
Also improve the error messages.
Resolves #2734.
|
|
|
|
| |
Ref: https://github.com/blueyed/neovim/commit/9b653ce0#commitcomment-11195449
|
|
|
|
|
|
|
|
| |
I could not find a reference to NVIM_PYTHON_PYTHON_LOG anywhere, and
python-client looks for NVIM_PYTHON_LOG_FILE.
~/.nvimlog appears to be hardcoded and enabled by default. This would
need to be adjusted when this changes.
|
|
|
|
|
| |
Do not call it again in case of an exception in `remote#host#Require`
(ref: https://github.com/neovim/neovim/pull/2549#issuecomment-102674350).
|
|
|
|
|
|
|
|
| |
`provider#pythonX#Error` and `provider#pythonX#Prog` are currently meant
for debugging only (the error message is not being used), and should
therefore be defined always, especially in case of errors.
Ref: https://github.com/neovim/neovim/pull/2549#issuecomment-98607580
|
|
|
|
|
| |
The `check` return value of `s:check_version` was not being used, and it
was returned always.
|
|
|
|
|
| |
python3/python2 will typically point at the default / most recent
interpreter.
|
| |
|
| |
|
|
|
|
|
| |
`s:check_interpreter` will query/return the version also, so that
`s:check_version` can just use that, without calling "python" again.
|
| |
|
|
|
|
|
|
| |
Update runtime files.
https://code.google.com/p/vim/source/detail?r=4abac79c0b7ae7aac0cb32d9930e155de628b63f
|
|
|
|
|
| |
Reviewed-by: Michael Reed <m.reed@mykolab.com>, Daniel Hahler <github@thequod.de>
Helped-by: Daniel Hahler <github@thequod.de>
|
|
|
|
|
| |
The s:RegistrationCommands functions will now test the type of the "specs" rpc
call. If it's not a list, then the plugin failed to load and is skipped
|
|
|
|
|
|
| |
This library makes it easier to script communication with interactive programs.
It is similar to what the "expect" tcl extension does, but uses an object
oriented API and is designed to integrate nicely with Neovim job control.
|
|
|
|
|
|
|
|
|
|
| |
Add missing parentheses and whatnot, move dangling comment, etc. Some
specific items worth mentioning:
Fixed some references to non-existent tags, found via `make html`
msgpack_rpc/channel.c:
ELOG already prefixes each line with "error @ ..."
|
| |
|
|
|
|
|
|
| |
Update runtime files.
https://code.google.com/p/vim/source/detail?r=bd18da914be9d43a70713f6af02770a0d3280159
|
|
|
|
|
|
| |
Updated runtime files.
https://code.google.com/p/vim/source/detail?r=47b1887483da0bc33d26a3e8d89973d76c9f39ef
|
|
|
|
|
|
| |
Updated runtime files.
https://code.google.com/p/vim/source/detail?r=1e8ebf870720e7b671f98f22d653009826304c4f
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Issue: #1537
Running the :UpdateRemotePlugins command will show an ugly, unhelpful
error when no plugins were found. This change has neovim print an error message
and does not attempt to start the python-client which requires at least one
plugin.
|
|
|
|
|
|
|
|
| |
xsel and xcopy may be available even if a valid X display is not. Also,
the availability of X may change at any time, so check on each
invocation.
Closes #1509.
|
|
|
|
|
|
| |
- Rename autoload/rpc to autoload/remote
- External plugins are now remote plugins
- External plugins directory is "rplugin"
|
|
|
|
|
| |
This is required to support multiple vimrcs with each having it's own set of
installed external plugins.
|