diff options
author | Akin Sowemimo <akin.sowemimo@gmail.com> | 2021-05-18 23:28:09 +0100 |
---|---|---|
committer | Akin Sowemimo <akin.sowemimo@gmail.com> | 2021-06-24 11:23:19 +0100 |
commit | 444f175335f0fbe338931f977880e959afbb49b7 (patch) | |
tree | 8965afa53f62edad2c4b5a639fd7bb3e3e840571 /runtime/lua/vim/lsp/rpc.lua | |
parent | 24e0c16fd6cb33a399772330cb80dfa4c1306284 (diff) | |
download | rneovim-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.lua | 7 |
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 |