aboutsummaryrefslogtreecommitdiff
path: root/runtime/autoload/provider
Commit message (Collapse)AuthorAge
* checkhealth: detect broken pip #9468Justin M. Keyes2019-01-13
|
* python#CheckForModule: Use the given module string instead of hard-coding pynvimJames McCoy2019-01-01
|
* {health,provider}/python: Import the neovim, rather than pynvim, moduleJames McCoy2019-01-01
| | | | | | | | The neovim module is available for backwards compatibility. We should not yet force the use of the pynvim module, since there's no other major reason to bump the minimum supported Python client module. Closes #9426
* provider/lang: expand() g:foo_host_prog (#9312)Justin M. Keyes2018-12-05
| | | | | | | | | | Before this commit, if user does this: let g:node_host_prog = '~/.nvm/versions/node/v11.3.0/bin/neovim-node-host' the "~/" is not expanded to user's home directory. `:help g:ruby_host_prog` suggests a path with "~/" so technically we already claimed to support this. closes https://github.com/neovim/node-client/issues/102
* clipboard: Revert unused check #9309@equalsraf2018-12-04
| | | | | | | | | | | | | | | | PR #9304 added support for functions in clipboard providers. As part of the PR I meant to move two checks in the provider code out of an if statement into separate statements and adding additional checks for g:clipboard attributes - as it turns out the code is wrong and it does not implement additional checks while it adds two conditions that make very little sense type(g:clipboard['copy']) #isnot# v:t_func what would make sense would be something along the lines of type(g:clipboard['copy']['+']) #isnot# v:t_func but might not be what we want either, so I'm reverting this.
* clipboard: Support custom VimL functions #9304Rui Abreu Ferreira2018-12-03
| | | | | | | | | | | | Up to now g:clipboard["copy"] only supported string values invoked as system commands. This commit enables the use of VimL functions instead. The function signatures are the same as in provider/clipboard.vim. A clipboard provider is expected to store and return a list of lines (i.e. the text) and a register type (as seen in setreg()). cache_enabled is ignored if "copy" is provided by a VimL function.
* clipboard: Prefer xclip (#9302)Justin M. Keyes2018-12-01
| | | | | | | | | | | The order was swapped in #4150 to prefer `xsel` but there wasn't a clear explanation. Meanwhile, `xsel` has been neglected upstream. Let's trying preferring `xclip` again, we've had a few reports of problems with `xsel`. closes #7237 ref #5853 ref #7449
* clipboard.vim: check for win32yank.exe #9263Bjorn Neergaard2018-11-21
| | | Win32 allows omitting the `.exe` extension, but WSL does not.
* health/python: warn if pynvim upgrade failedMarco Hinz2018-11-20
| | | | Reference: https://github.com/neovim/neovim/wiki/Following-HEAD#20181118
* provider/python: refactoringMarco Hinz2018-11-20
|
* health/python: 'neovim' module was renamed to 'pynvim'Marco Hinz2018-11-17
|
* clipboard: support Wayland (#9230)ainola2018-11-13
| | | Fixes #9213
* provider/nodejs: handle missing stdoutJustin M. Keyes2018-10-31
| | | | ref https://github.com/neovim/neovim/issues/9001#issuecomment-434802234
* provider/nodejs: fix npm,yarn detectionJan Edmund Lazo2018-10-22
| | | | | | | | | | For each package manager, 1. Check if they are executable before starting a job. 2. Check if the job opts are set before checking the job status TODO: Validate the job id. Prioritize npm because it's faster than yarn. Reindent the code to 2-space indent.
* provider/nodejs: Simultaneously query npm and yarn #9054Mahmoud Al-Qudsi2018-10-18
| | | | | | ref #9001 Instead of serially querying npm and yarn for neovim, start both as a job and then wait for a successful result from either.
* ruby: detect rbenv shims for other versions (#8733)Marco Hinz2018-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When rbenv is used for managing Ruby installations, just checking for an executable called "neovim-ruby-host" is not enough. It has to be run as well. If it does not return 0, then neovim-ruby-host is merely a shim for another Ruby installation. $ rbenv versions 2.5.0 * 2.5.1 (set by /Users/mhi/.rbenv/version) $ rbenv whence neovim-ruby-host 2.5.0 $ which neovim-ruby-host /Users/mhi/.rbenv/shims/neovim-ruby-host $ neovim-ruby-host rbenv: neovim-ruby-host: command not found The `neovim-ruby-host' command exists in these Ruby versions: 2.5.0 $ echo $? 127 Additionally, the detection logic was moved from provider#ruby#Detect() to s:detect(), because the former is run in the sandbox which forbids calling system().
* provider/node: npm --loglevel silent (#8682)Takuya Matsuyama2018-07-04
| | | | closes #8674 npm log level may cause unexpected output.
* checkhealth: node.js: also search yarn #8528Ahmed El Gabri2018-06-17
| | | | | - "neovim" package may be installed with yarn. Check yarn if npm fails. - Use filereadable() instead of glob(). closes #8552
* node/provider: support g:node_host_prog #8135chemzqm2018-03-15
|
* Add provider#Poll() to handle starting and polling the providerJames McCoy2018-02-16
|
* provider: Safely access job.stderr in #RequireJames McCoy2018-02-16
| | | | | | | | | | | | If `jobstart()` fails, then the subsequent `rpcrequest()` will throw due to an invalid channel id. This causes `job.stderr` not to exist, so we throw another exception when trying to dump the job's stderr. Error detected while processing function remote#define#AutocmdBootstrap[1]..remote#host#Require[10]..provider#pythonx#Require: line 22: E716: Key not present in Dictionary: stderr This obfuscates the actual problem.
* provider: ruby: Use stderr_buffered to collect stderrJames McCoy2018-02-16
|
* macOS: Use `pbpaste` to detect a working clipboard (#7983)Marco Hinz2018-02-08
| | | `pbcopy` writes to the clipboard, it should not be used to sanity-check the clipboard.
* clipboard: macOS: fallback to tmux if pbcopy is broken #7940Justin M. Keyes2018-01-31
| | | | | | | | On some versions of macOS, pbcopy doesn't work in tmux <2.6 https://superuser.com/q/231130 Fallback to tmux in that case. Add a healthcheck for this scenario.
* health.vim: remove :CheckHealth commandJustin M. Keyes2017-12-27
| | | | | | | | | For back-compat, :CheckHealth runs :checkhealth. But don't define :CheckHealth explicitly, it adds noise to wildmenu completion. Completion of healthchecks doesn't yet work with :checkhealth, this is a regression but it needs to be implemented for :checkhealth rather than keeping :CheckHealth around.
* provider: delete vimL stderr collector, now that it exists builtinBjörn Linse2017-12-23
|
* provider/nodejs: more robust version-check (#7738)Justin M. Keyes2017-12-18
|
* provider/nodejs: check version in Detect()Justin M. Keyes2017-12-17
|
* ci: nodejs client acceptance-test #7706Jan Edmund Lazo2017-12-17
| | | | | | | | | | | | | | | | | | | | | | | | ci: install nodejs 8 in Appveyor, Travis provider: check node version for debug support Resolve https://github.com/neovim/neovim/pull/7577#issuecomment-350590592 for Unix. provider: test if nodejs in ci supports --inspect-brk nodejs host for neovim requires nodejs 6+ to work properly. nodejs 6.12+ or 7.6+ is required for debug support via `node --inspect-brk`. provider: run cli.js of nodejs host directly npm shims are useless because the user cannot set node to debug mode via --inspect-brk. This is problematic on Windows which use batchfiles and shell scripts to compensate for not supporting shebang. The patch uses `npm root -g` to get the absolute path of the global npm modules. If that fails, then the user did not install neovim npm package globally. Use that absolute path to find `neovim/bin/cli.js`, which is what the npm shim actually runs with node. glob() is for a simple file check in case bin/ is removed because the npm shims are ignored now.
* provider: fix batchfile extension for ruby gem (#7651)Jan Edmund Lazo2017-11-29
| | | | | | | | | | | ruby uses batchfiles with 'cmd' extension. gem creates batchfiles with 'bat' extension. `gem install rails` does the following in Windows (not Cygwin): 1. Run `gem.cmd install rails` on cmd.exe 2. gem.cmd runs `ruby.exe -x gem install rails` 3. `rails` gem is installed. `rails.bat` is created in the same directory where ruby.exe and gem.cmd reside.
* Revert "provider: delete vimL stderr collector, now that it exists builtin"Björn Linse2017-11-27
| | | | | | | This change exposed a memory issue with buffered channels, possibly involving GC. Revert until it has been fixed. This reverts commit 0de019b6a65c6dd5141b7e002343df3689065ce7.
* provider: delete vimL stderr collector, now that it exists builtinBjörn Linse2017-11-26
|
* win: provider: Detect(): return *.cmd path (#7577)Jan Edmund Lazo2017-11-17
| | | | | | | neovim-ruby-host is a ruby script. neovim-node-host is a shell script. Both don't work in cmd.exe so gem and npm provide batchfile shims. Return the full path of these shims, cmd.exe knows better what to do with these files.
* use `provider#stderr_collector`Billy Vong2017-10-31
|
* remote: add node.js as a remote plugin providerBilly Vong2017-10-29
|
* doc: replace ":CheckHealth" with ":checkhealth"Justin M. Keyes2017-10-17
|
* clipboard: disallow recursion; show hint only once (#7203)Justin M. Keyes2017-08-22
| | | | | | | | - Show hint only once per session. - provider#clipboard#Call(): prevent recursion - provider#clear_stderr(): use has_key(), because :silent! is still captured by :redir. closes #7184
* clipboard: test g:clipboard validation, fix a bugJustin M. Keyes2017-08-20
| | | | Also fix `:help foo` highlighting in health.vim
* clipboard: avoid error flood during :redirJustin M. Keyes2017-08-20
| | | | | | | | | | | | | | | | | | redir_write(): - This is a "batch" operation which was not yet covered by start_batch_changes() adjust_clipboard_name(): - msg() and friends during :redir will, of course, cause redir_write() to try to capture that message, which causes recursion. - EMSG() here is trouble: if it interrupts :redir it is a mess. Rather than deal with the mess, show a non-error message. closes #7182 closes #7184 closes #7183 ref #6048 ref #7032
* provider: clipboard: Only report stderr if the job failedJames McCoy2017-07-24
| | | | Closes #7054
* provider: Extra pythonx's stderr handling to common functionsJames McCoy2017-07-24
|
* provider/clipboard.vim: fix logic issue #7042Andy Russell2017-07-17
| | | | Closes #7039
* provider/clipboard.vim: capture/display errors (#6684)Andy Russell2017-07-15
| | | | | | TODO: handle errors in the `get`. systemlist() should take an options dictionary like jobstart(), which may specify a stderr handler. References #6565
* provider/clipboard.vim: Handle missing g:clipboard keysJustin M. Keyes2017-06-28
|
* provider/clipboard.vim: allow configuration #6030Justin M. Keyes2017-06-27
| | | | Closes #6029
* runtime: Allow overriding ruby host with g:ruby_host_progAlex Genco2017-06-17
| | | | | | | This allows users who have per-project Ruby versions (e.g. with `rvm`) to pin to a particular gem installation. For example: `let g:ruby_host_prog = 'rvm system do neovim-ruby-host'`
* provider/clipboard: add tmux support (#6894)Xu Cheng2017-06-15
|
* Make script_host.rb rubocop-cleanMarco Hinz2017-05-03
| | | | | | | | | | | | | | | | | | Fix the following issues according to rubocop: runtime/autoload/provider/script_host.rb:2:11: C: Prefer single-quoted strings when you don't need string interpolation or special symbols. require "neovim/ruby_provider" ^^^^^^^^^^^^^^^^^^^^^^ runtime/autoload/provider/script_host.rb:5:5: C: Prefer single-quoted strings when you don't need string interpolation or special symbols. "Your neovim RubyGem is missing or out of date. " + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ runtime/autoload/provider/script_host.rb:5:55: C: Use \ instead of + or << to concatenate those strings. "Your neovim RubyGem is missing or out of date. " + runtime/autoload/provider/script_host.rb:6:5: C: Prefer single-quoted strings when you don't need string interpolation or special symbols. "Install the latest version using `gem install neovim`." ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This commit assumes Ruby 2.0.0+.
* health.vim: Set 'iskeyword' to that of ft=help.Justin M. Keyes2017-04-19
|
* providers: Disable if `g:loaded_*` exists.Justin M. Keyes2017-02-14
| | | | | | | | | The exists('g:loaded_foo') convention is rather common, and may be relied upon in some cases. It's also very unlikely that a user or plugin has any reason to set g:loaded_foo to zero, so the principle of least surprise can be brushed aside here. https://github.com/neovim/neovim/issues/6107#issuecomment-279532143