mirror of
https://github.com/neovim/nvim-lspconfig
synced 2025-03-11 04:27:36 +00:00
fix(angularls): pass --angularCoreVersion for backwards compatibility #3592
Some checks failed
docgen / docgen (push) Has been cancelled
Some checks failed
docgen / docgen (push) Has been cancelled
This commit is contained in:
parent
1f941b3668
commit
9962e25a23
@ -9,7 +9,27 @@ local function get_probe_dir(root_dir)
|
||||
return project_root and (project_root .. '/node_modules') or ''
|
||||
end
|
||||
|
||||
local function get_angular_core_version(root_dir)
|
||||
local project_root = vim.fs.dirname(vim.fs.find('node_modules', { path = root_dir, upward = true })[1])
|
||||
|
||||
local package_json = project_root .. '/package.json'
|
||||
if not vim.loop.fs_stat(package_json) then
|
||||
return ''
|
||||
end
|
||||
|
||||
local contents = io.open(package_json):read '*a'
|
||||
local json = vim.json.decode(contents)
|
||||
if not json.dependencies then
|
||||
return ''
|
||||
end
|
||||
|
||||
local angular_core_version = json.dependencies['@angular/core']
|
||||
|
||||
return angular_core_version
|
||||
end
|
||||
|
||||
local default_probe_dir = get_probe_dir(vim.fn.getcwd())
|
||||
local default_angular_core_version = get_angular_core_version(vim.fn.getcwd())
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
@ -20,6 +40,8 @@ return {
|
||||
default_probe_dir,
|
||||
'--ngProbeLocations',
|
||||
default_probe_dir,
|
||||
'--angularCoreVersion',
|
||||
default_angular_core_version,
|
||||
},
|
||||
filetypes = { 'typescript', 'html', 'typescriptreact', 'typescript.tsx', 'htmlangular' },
|
||||
-- Check for angular.json since that is the root of the project.
|
||||
@ -29,6 +51,7 @@ return {
|
||||
},
|
||||
on_new_config = function(new_config, new_root_dir)
|
||||
local new_probe_dir = get_probe_dir(new_root_dir)
|
||||
local angular_core_version = get_angular_core_version(new_root_dir)
|
||||
|
||||
-- We need to check our probe directories because they may have changed.
|
||||
new_config.cmd = {
|
||||
@ -38,6 +61,8 @@ return {
|
||||
new_probe_dir,
|
||||
'--ngProbeLocations',
|
||||
new_probe_dir,
|
||||
'--angularCoreVersion',
|
||||
angular_core_version,
|
||||
}
|
||||
end,
|
||||
docs = {
|
||||
|
Loading…
Reference in New Issue
Block a user