aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Nguyen <21993921+nkarl@users.noreply.github.com>2022-11-30 19:50:53 -0800
committerGitHub <noreply@github.com>2022-12-01 11:50:53 +0800
commit1390e97c200ee265f72a4e2d7ec1a47fd65462ee (patch)
treee9fa6b6f2d5805859c1e803dac4561dd0317dc16
parentbd2d0edcbf4e98e05edff13f344865fcafac56b5 (diff)
downloadrneovim-1390e97c200ee265f72a4e2d7ec1a47fd65462ee.tar.gz
rneovim-1390e97c200ee265f72a4e2d7ec1a47fd65462ee.tar.bz2
rneovim-1390e97c200ee265f72a4e2d7ec1a47fd65462ee.zip
feat(provider): add support for Yarn node modules on Windows (#21246)
-rw-r--r--runtime/autoload/provider/node.vim10
1 files changed, 4 insertions, 6 deletions
diff --git a/runtime/autoload/provider/node.vim b/runtime/autoload/provider/node.vim
index 45b1dd4fd7..87af0094fe 100644
--- a/runtime/autoload/provider/node.vim
+++ b/runtime/autoload/provider/node.vim
@@ -71,13 +71,11 @@ function! provider#node#Detect() abort
let yarn_opts = deepcopy(s:NodeHandler)
let yarn_opts.entry_point = '/node_modules/neovim/bin/cli.js'
" `yarn global dir` is slow (> 250ms), try the default path first
- " XXX: The following code is not portable
" https://github.com/yarnpkg/yarn/issues/2049#issuecomment-263183768
- if has('unix')
- let yarn_default_path = $HOME . '/.config/yarn/global/' . yarn_opts.entry_point
- if filereadable(yarn_default_path)
- return [yarn_default_path, '']
- endif
+ let yarn_config_dir = has('win32') ? '/AppData/Local/Yarn/Data' : '/.config/yarn'
+ let yarn_default_path = $HOME . yarn_config_dir . '/global/' . yarn_opts.entry_point
+ if filereadable(yarn_default_path)
+ return [yarn_default_path, '']
endif
let yarn_opts.job_id = jobstart('yarn global dir', yarn_opts)
endif