aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/health.lua
diff options
context:
space:
mode:
authorMaria José Solano <majosolano99@gmail.com>2024-10-28 06:14:56 -0700
committerGitHub <noreply@github.com>2024-10-28 06:14:56 -0700
commit0086ee90dd2f058f48bbaceef842bb0d8923cc34 (patch)
tree56450fcf41132fa71450da2943d877281e339d5f /runtime/lua/vim/lsp/health.lua
parentff29fd8c6ef4f14234c25a8650b245c179819845 (diff)
downloadrneovim-0086ee90dd2f058f48bbaceef842bb0d8923cc34.tar.gz
rneovim-0086ee90dd2f058f48bbaceef842bb0d8923cc34.tar.bz2
rneovim-0086ee90dd2f058f48bbaceef842bb0d8923cc34.zip
fix(lsp): list all workspace folders in healthcheck #30966
Diffstat (limited to 'runtime/lua/vim/lsp/health.lua')
-rw-r--r--runtime/lua/vim/lsp/health.lua23
1 files changed, 19 insertions, 4 deletions
diff --git a/runtime/lua/vim/lsp/health.lua b/runtime/lua/vim/lsp/health.lua
index 18066a84db..0d314108fe 100644
--- a/runtime/lua/vim/lsp/health.lua
+++ b/runtime/lua/vim/lsp/health.lua
@@ -39,12 +39,27 @@ local function check_active_clients()
elseif type(client.config.cmd) == 'function' then
cmd = tostring(client.config.cmd)
end
+ local dirs_info ---@type string
+ if client.workspace_folders and #client.workspace_folders > 1 then
+ dirs_info = string.format(
+ ' Workspace folders:\n %s',
+ vim
+ .iter(client.workspace_folders)
+ ---@param folder lsp.WorkspaceFolder
+ :map(function(folder)
+ return folder.name
+ end)
+ :join('\n ')
+ )
+ else
+ dirs_info = string.format(
+ ' Root directory: %s',
+ client.root_dir and vim.fn.fnamemodify(client.root_dir, ':~')
+ ) or nil
+ end
report_info(table.concat({
string.format('%s (id: %d)', client.name, client.id),
- string.format(
- ' Root directory: %s',
- client.root_dir and vim.fn.fnamemodify(client.root_dir, ':~') or nil
- ),
+ dirs_info,
string.format(' Command: %s', cmd),
string.format(' Settings: %s', vim.inspect(client.settings, { newline = '\n ' })),
string.format(