aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/rpc.lua
diff options
context:
space:
mode:
authorMichael Lingelbach <m.j.lbach@gmail.com>2021-06-24 13:23:28 -0700
committerGitHub <noreply@github.com>2021-06-24 13:23:28 -0700
commit1e2fc1f9cd121ff16823e283a3dd074e668ce6b5 (patch)
tree8965afa53f62edad2c4b5a639fd7bb3e3e840571 /runtime/lua/vim/lsp/rpc.lua
parent24e0c16fd6cb33a399772330cb80dfa4c1306284 (diff)
parent444f175335f0fbe338931f977880e959afbb49b7 (diff)
downloadrneovim-1e2fc1f9cd121ff16823e283a3dd074e668ce6b5.tar.gz
rneovim-1e2fc1f9cd121ff16823e283a3dd074e668ce6b5.tar.bz2
rneovim-1e2fc1f9cd121ff16823e283a3dd074e668ce6b5.zip
Merge pull request #14584 from akinsho/bugfix/vim-nil-conversion-logic
[RDY] fix(lsp): do not convert vim.NIL to nil in lists
Diffstat (limited to 'runtime/lua/vim/lsp/rpc.lua')
-rw-r--r--runtime/lua/vim/lsp/rpc.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp/rpc.lua b/runtime/lua/vim/lsp/rpc.lua
index 98835d6708..ea12c97d40 100644
--- a/runtime/lua/vim/lsp/rpc.lua
+++ b/runtime/lua/vim/lsp/rpc.lua
@@ -50,8 +50,13 @@ recursive_convert_NIL = function(v, tbl_processed)
return nil
elseif not tbl_processed[v] and type(v) == 'table' then
tbl_processed[v] = true
+ local inside_list = vim.tbl_islist(v)
return vim.tbl_map(function(x)
- return recursive_convert_NIL(x, tbl_processed)
+ if not inside_list or (inside_list and type(x) == "table") then
+ return recursive_convert_NIL(x, tbl_processed)
+ else
+ return x
+ end
end, v)
end