aboutsummaryrefslogtreecommitdiff
path: root/runtime/autoload/provider/node.vim
Commit message (Collapse)AuthorAge
* checkhealth: ignore 'wildignore' when seeking executables (#14495)Marco Hinz2021-05-07
| | | | | | Certain values of 'wildignore', .e.g `*/node_modules/**`, would make the provider checks not find the right executables. Fixes https://github.com/neovim/neovim/issues/14388
* provider: align all foo#Detect() functions #12839Justin M. Keyes2020-09-05
| | | | | | Problem: ruby#Detect() and node#Detect() don't return a [prog, err] pair which means callers must special-case them. Solution: align their return signatures with the perl/pythonx providers.
* system(), jobstart(): raise error on non-executable #11234Daniel Hahler2019-12-24
| | | | | | | | | | * tv_to_argv: error when cmd is not executable Callers always assume that emsg was emitted: - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L12509 - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L17923 - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L18202 * test/functional/provider: display reason from missing_provider * provider#node#Detect: skip / handle non-existing node executable
* provider: g:loaded_xx_provider=2 means "enabled and working"Justin M. Keyes2019-08-04
| | | | | Value of 1 cannot be used, because users might set that in their vimrc to _disable_ a provider, which would confuse :checkhealth and has().
* provider: decide status by g:loaded_xx_providerJustin M. Keyes2019-08-04
|
* provider: let providers decide their statusRui Abreu Ferreira2019-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of deciding provider status in eval_has_provider, move the decision to the provider Vim scripts. Previously, provider loading worked as follows: 1. eval_has_provider() verified provider availability by searching for the provider#providername#Call function and cached this verificaion as a static variable for some providers 2. providers short-circuited on loading to prevent the definition of the Call function (with the exception of the node provider that did not) This commit changes the expected interface between nvim and its providers to facilitate provider reloading, by splitting the verification of the provider from the availability of the Call function. eval_has_provider() now checks for a provider#providername#enabled variable. It is up to the provider script to set this to 0 or 1 accordingly. eval_call_provider() remains unchanged. All providers hosting a Call function were updated to respect this. The clipboard provider now has a Reload function to reload the provider.
* 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
* 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.
* 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.
* 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.
* 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