From 684d8625264b08407b78630e520760344945f2d2 Mon Sep 17 00:00:00 2001 From: hrsh7th Date: Sun, 29 Aug 2021 21:33:45 +0900 Subject: [PATCH] We treat false as empty table if the default value is table --- lua/cmp/utils/misc.lua | 5 +++++ lua/cmp/utils/misc_spec.lua | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lua/cmp/utils/misc.lua b/lua/cmp/utils/misc.lua index be28497..45ad943 100644 --- a/lua/cmp/utils/misc.lua +++ b/lua/cmp/utils/misc.lua @@ -38,6 +38,11 @@ misc.merge = function(v1, v2) if v1 == nil then return v2 end + + -- treat false as {} if the default value is table. + if merge2 and v1 == false then + return {} + end return v1 end diff --git a/lua/cmp/utils/misc_spec.lua b/lua/cmp/utils/misc_spec.lua index 8dad68e..9d4cf5e 100644 --- a/lua/cmp/utils/misc_spec.lua +++ b/lua/cmp/utils/misc_spec.lua @@ -22,8 +22,8 @@ describe('misc', function() b = 1 } }) - assert.are.equal(merged.a, false) - + assert.are.equal(type(merged.a), 'table') + assert.are.equal(vim.tbl_isempty(merged.a), true) end) end)