From 641e567f975feab3815b47c7d29e6148e07afa77 Mon Sep 17 00:00:00 2001 From: Mohamed Hubail Date: Sun, 27 Apr 2025 17:13:04 +0300 Subject: feat(util): support "package.json5" #3794 Problem: Root detection fails when using `package.json5`. #3710 Solution: Modify `insert_package_json` to support `package.json5`. --- lua/lspconfig/util.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lua/lspconfig/util.lua') diff --git a/lua/lspconfig/util.lua b/lua/lspconfig/util.lua index 915e1b41..a8cf7439 100644 --- a/lua/lspconfig/util.lua +++ b/lua/lspconfig/util.lua @@ -46,14 +46,13 @@ end function M.insert_package_json(config_files, field, fname) local path = vim.fn.fnamemodify(fname, ':h') - local root_with_package = vim.fs.dirname(vim.fs.find('package.json', { path = path, upward = true })[1]) + local root_with_package = vim.fs.find({ 'package.json', 'package.json5' }, { path = path, upward = true })[1] if root_with_package then -- only add package.json if it contains field parameter - local path_sep = iswin and '\\' or '/' - for line in io.lines(root_with_package .. path_sep .. 'package.json') do + for line in io.lines(root_with_package) do if line:find(field) then - config_files[#config_files + 1] = 'package.json' + config_files[#config_files + 1] = vim.fs.basename(root_with_package) break end end -- cgit v1.2.3-70-g09d2