aboutsummaryrefslogtreecommitdiff
path: root/runtime/autoload/provider
Commit message (Collapse)AuthorAge
* 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
* health.vim: Do not check intentionally disabled providers.Justin M. Keyes2017-02-13
| | | | Closes #6107
* Windows: Clipboard provider win32yankRui Abreu Ferreira2017-01-20
|
* clipboard: only check for pbcopy on macOS (#5927)Marco Hinz2017-01-11
| | | Fixes #5926.