aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/rpc.lua
diff options
context:
space:
mode:
authorAkin Sowemimo <akin.sowemimo@gmail.com>2021-05-18 23:28:09 +0100
committerAkin Sowemimo <akin.sowemimo@gmail.com>2021-06-24 11:23:19 +0100
commit444f175335f0fbe338931f977880e959afbb49b7 (patch)
tree8965afa53f62edad2c4b5a639fd7bb3e3e840571 /runtime/lua/vim/lsp/rpc.lua
parent24e0c16fd6cb33a399772330cb80dfa4c1306284 (diff)
downloadrneovim-444f175335f0fbe338931f977880e959afbb49b7.tar.gz
rneovim-444f175335f0fbe338931f977880e959afbb49b7.tar.bz2
rneovim-444f175335f0fbe338931f977880e959afbb49b7.zip
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