aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/shared.lua
diff options
context:
space:
mode:
authorHirokazu Hata <h.hata.ai.t@gmail.com>2020-02-13 11:55:43 +0900
committerHirokazu Hata <h.hata.ai.t@gmail.com>2020-02-13 11:55:43 +0900
commit417fc6ccf78801aef79a8731c5a85db6b12cd407 (patch)
tree99a92da313011aa0599fc7d9286e95394587c6ea /runtime/lua/vim/shared.lua
parent68de6b17b8660adfeda93e46cec6ee6ebc7ebcf5 (diff)
downloadrneovim-417fc6ccf78801aef79a8731c5a85db6b12cd407.tar.gz
rneovim-417fc6ccf78801aef79a8731c5a85db6b12cd407.tar.bz2
rneovim-417fc6ccf78801aef79a8731c5a85db6b12cd407.zip
lua: vim.deepcopy uses empty_dict() instead of {} for empty_dict()
fix: https://github.com/neovim/nvim-lsp/issues/94
Diffstat (limited to 'runtime/lua/vim/shared.lua')
-rw-r--r--runtime/lua/vim/shared.lua5
1 files changed, 5 insertions, 0 deletions
diff --git a/runtime/lua/vim/shared.lua b/runtime/lua/vim/shared.lua
index ea1117a906..36df24d0c1 100644
--- a/runtime/lua/vim/shared.lua
+++ b/runtime/lua/vim/shared.lua
@@ -20,6 +20,11 @@ vim.deepcopy = (function()
local deepcopy_funcs = {
table = function(orig)
local copy = {}
+
+ if getmetatable(orig) == vim._empty_dict_mt then
+ copy = vim.empty_dict()
+ end
+
for k, v in pairs(orig) do
copy[vim.deepcopy(k)] = vim.deepcopy(v)
end