diff options
| author | Josh Rahm <joshuarahm@gmail.com> | 2022-08-03 00:08:17 -0600 |
|---|---|---|
| committer | Josh Rahm <joshuarahm@gmail.com> | 2022-08-03 00:08:17 -0600 |
| commit | 9449e1b8d273ff78eb894c588110ffa0c17d6ee3 (patch) | |
| tree | 9e4470c33bd4187d9f42f0b2c4aaa995310c5be8 /runtime/autoload/provider/node.vim | |
| parent | 308e1940dcd64aa6c344c403d4f9e0dda58d9c5c (diff) | |
| parent | b8dcbcc732baf84fc48d6b272c3ade0bcb129b3b (diff) | |
| download | rneovim-9449e1b8d273ff78eb894c588110ffa0c17d6ee3.tar.gz rneovim-9449e1b8d273ff78eb894c588110ffa0c17d6ee3.tar.bz2 rneovim-9449e1b8d273ff78eb894c588110ffa0c17d6ee3.zip | |
Merge remote-tracking branch 'upstream/master' into rahm
Diffstat (limited to 'runtime/autoload/provider/node.vim')
| -rw-r--r-- | runtime/autoload/provider/node.vim | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/runtime/autoload/provider/node.vim b/runtime/autoload/provider/node.vim index 5079c07d8c..45b1dd4fd7 100644 --- a/runtime/autoload/provider/node.vim +++ b/runtime/autoload/provider/node.vim @@ -82,6 +82,13 @@ function! provider#node#Detect() abort let yarn_opts.job_id = jobstart('yarn global dir', yarn_opts) endif + let pnpm_opts = {} + if executable('pnpm') + let pnpm_opts = deepcopy(s:NodeHandler) + let pnpm_opts.entry_point = '/neovim/bin/cli.js' + let pnpm_opts.job_id = jobstart('pnpm --loglevel silent root -g', pnpm_opts) + endif + " npm returns the directory faster, so let's check that first if !empty(npm_opts) let result = jobwait([npm_opts.job_id]) @@ -97,6 +104,13 @@ function! provider#node#Detect() abort endif endif + if !empty(pnpm_opts) + let result = jobwait([pnpm_opts.job_id]) + if result[0] == 0 && pnpm_opts.result != '' + return [pnpm_opts.result, ''] + endif + endif + return ['', 'failed to detect node'] endfunction |