diff options
author | Mathias Fußenegger <mfussenegger@users.noreply.github.com> | 2024-05-25 21:22:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-25 21:22:41 +0200 |
commit | f03b1622ad1b8e2df16504631f05e7577e217854 (patch) | |
tree | b0adf8a80c474b861598a96ad2ace17638e3c62f /runtime/lua | |
parent | 520c2657bb6832dc527bff94f313a1cc458238a4 (diff) | |
download | rneovim-f03b1622ad1b8e2df16504631f05e7577e217854.tar.gz rneovim-f03b1622ad1b8e2df16504631f05e7577e217854.tar.bz2 rneovim-f03b1622ad1b8e2df16504631f05e7577e217854.zip |
fix(lsp): handle nil root_dir in health check (#29007)
The root directory could show up as something like:
Root directory: ~/path/to/cwd/v:null
Despite being `nil`
Diffstat (limited to 'runtime/lua')
-rw-r--r-- | runtime/lua/vim/lsp/client.lua | 3 | ||||
-rw-r--r-- | runtime/lua/vim/lsp/health.lua | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/runtime/lua/vim/lsp/client.lua b/runtime/lua/vim/lsp/client.lua index 4beb7fefda..58ea7d02b3 100644 --- a/runtime/lua/vim/lsp/client.lua +++ b/runtime/lua/vim/lsp/client.lua @@ -182,7 +182,7 @@ local validate = vim.validate --- It can be `null` if the client supports workspace folders but none are --- configured. --- @field workspace_folders lsp.WorkspaceFolder[]? ---- @field root_dir string +--- @field root_dir string? --- --- @field attached_buffers table<integer,true> --- @@ -470,7 +470,6 @@ function Client.create(config) _on_exit_cbs = ensure_list(config.on_exit), _on_attach_cbs = ensure_list(config.on_attach), _on_error_cb = config.on_error, - _root_dir = config.root_dir, _trace = get_trace(config.trace), --- Contains $/progress report messages. diff --git a/runtime/lua/vim/lsp/health.lua b/runtime/lua/vim/lsp/health.lua index b5dc710cc6..ffe595ab37 100644 --- a/runtime/lua/vim/lsp/health.lua +++ b/runtime/lua/vim/lsp/health.lua @@ -41,7 +41,10 @@ local function check_active_clients() end report_info(table.concat({ string.format('%s (id: %d)', client.name, client.id), - string.format(' Root directory: %s', vim.fn.fnamemodify(client.root_dir, ':~')), + string.format( + ' Root directory: %s', + client.root_dir and vim.fn.fnamemodify(client.root_dir, ':~') or nil + ), string.format(' Command: %s', cmd), string.format(' Settings: %s', vim.inspect(client.settings, { newline = '\n ' })), string.format( |