Commit Graph

37 Commits

Author SHA1 Message Date
Justin M. Keyes
d1afd434f3 rplugin: Call s:LoadRemotePlugins() on startup.
Dispense with the FuncUndefined/CmdUndefined quasi-optimization.
If there are no rplugins, plugin/rplugin.vim takes less than 1ms.

Closes #5821
Closes #6250

Helped-by: Qiming zhao <chemzqm@gmail.com>
2017-03-11 12:26:22 +01:00
Marco Hinz
657ba62a84 rplugin: resolve paths in manifest file (#5501)
`:CheckHealth nvim` would always report an outdated manifest if symlinks were
used, because the manifest file contains unresolved paths that get compared
against resolved paths.

Now we resolve paths before they get written to the manifest file.
2016-10-18 23:16:13 +02:00
Shougo
1dde512498 UpdateRemotePlugins: Discard duplicate paths. (#5464) 2016-10-12 01:04:59 +02:00
Justin M. Keyes
d57f25e5ef doc/vim_diff.txt (#5432) 2016-10-06 09:45:24 +02:00
Justin M. Keyes
297677ecf4 remote/host.vim: Avoid "No matching autocommands".
:silent does not silence this message, even :redir does not consume it.
But execute() _does_ consume it, which interferes with the current
implementation of health.vim. It's prudent to avoid it in any case, even
if the implementation of health.vim changes in the future.
2016-08-21 22:03:28 -04:00
Björn Linse
2d60a15e25 job control: reuse common job code for rpc jobs
This makes stderr and exit callbacks work for rpc jobs
2016-08-20 12:55:35 +02:00
Justin M. Keyes
f9aa029a8b host.vim: s:GetManifestPath(): octal permissions 2016-08-17 18:30:09 -04:00
Justin M. Keyes
acaf480bdc host.vim: s:GetManifestPath(): Create base directory if needed.
If the base directory does not exist, let mkdir(...,'p') create it.
2016-08-17 18:29:45 -04:00
Justin M. Keyes
4b0b391f9f host.vim: s:GetManifestPath(): Remove for-loop.
Without the for-loop it is easier to follow, more explicit, and fewer
lines.
2016-08-17 17:43:26 -04:00
Tommy Allen
01e33e1c74 runtime: rplugin manifest written to $XDG_DATA_HOME
Uses $NVIM_RPLUGIN_MANIFEST if available
2016-08-17 16:22:15 -04:00
Justin M. Keyes
aa2c439940 eval.c: rename capture() to execute() (#5132) 2016-07-31 13:23:29 -04:00
Shougo
0d5edcef4a rplugin: Manifest file name fallback (#4935) 2016-06-30 20:50:07 -04:00
Justin M. Keyes
46a080015f host.vim: s:RegistrationCommands(): Normalize slashes.
Closes #4795
2016-05-22 11:34:24 -04:00
Case Nelson
4a200ceafa test: remote/define.vim: range 2016-04-18 05:40:15 -04:00
Paul Jolly
d835c030f2 remote/define.vim: support remote function "range" 2016-04-18 05:24:46 -04:00
Shougo Matsushita
2ebc58d25a Fix loading remote plugin error 2016-04-19 06:52:04 +09:00
Dan Elkouby
e5147ce6a0 rplugin: Ignore modeline while chaining events 2016-04-18 09:21:22 +03:00
Aleksei Khudiakov
6e8757255e rplugin: Fix wrong condition for lazy loading remote plugins 2016-03-31 08:58:22 +10:00
Justin M. Keyes
66a75fb835 Merge pull request #4410 from alexgenco/ruby_rplugin
Ruby remote plugin support
2016-03-11 12:33:41 -05:00
Björn Linse
6c4d3362c5 rplugin: let the python host identify packages 2016-03-11 11:31:09 +01:00
Justin M. Keyes
1c066e671d rplugin: Silence :doautocmd. #4384 2016-03-11 01:22:41 -05:00
Alex Genco
3cb9970acf Ruby remote plugin support 2016-03-10 19:01:44 -08:00
Shougo Matsushita
bb020df0f5 rplugin: Initialize remote plugins lazily. #4384 2016-03-10 10:34:57 -05:00
Shougo Matsushita
41794f6b58 Improve remote plugin scripts 2016-02-14 08:24:49 +09:00
Shougo Matsushita
f338fee482 Fix UpdateRemotePlugins fails problem 2015-12-10 00:09:55 +09:00
Jonathan Skeate
5613b62224 host.vim: expand $MYVIMRC. #3342
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)
2015-09-14 21:59:13 -04:00
Jakob Schnitzer
c478dd5ab4 python: remove current working directory from path
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
2015-09-14 12:06:49 +02:00
Björn Linse
73d9cd85df rplugin: Don't error if plugin is registered before host #2961
This makes it possible to register a lazy loaded host in a plugin/ file.
Previously this caused an error on restart after :UpdateRemotePlugins
2015-07-10 22:11:13 +02:00
Nick Hynes
0ffd51425e rplugin: pass additional info to host factory function #2920 2015-07-03 12:12:21 -04:00
Nick Hynes
105b8f1070 rplugin: allow users to register hosts #2896 2015-06-25 19:01:38 -04:00
Daniel Hahler
8d42db1eea remote#host#RequirePythonHost: fix reference to log
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.
2015-06-09 10:29:46 +03:00
Shougo Matsushita
7dc241ac78 rplugin: Improve remote plugins detection messages #2769 2015-05-31 12:47:54 -04:00
Shougo Matsushita
42de617974 Add if_python3 support
Reviewed-by: Michael Reed <m.reed@mykolab.com>, Daniel Hahler <github@thequod.de>
Helped-by: Daniel Hahler <github@thequod.de>
2015-04-21 06:20:23 +09:00
Thiago de Arruda
54bd384338 runtime: Handle failures while loading individual remote plugins
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
2015-04-13 17:21:28 -03:00
Florian Walch
98c72305a9 Improve Python host messages. 2014-11-26 16:49:46 +01:00
Bjorn Tipling
fe27cbe1d8 Print an error and exit when there are no plugins.
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.
2014-11-24 13:53:21 -08:00
Thiago de Arruda
6b17082d3c runtime: Refer to plugins running outside Nvim as "remote plugins"
- Rename autoload/rpc to autoload/remote
- External plugins are now remote plugins
- External plugins directory is "rplugin"
2014-11-21 10:11:42 -03:00