Add cmp.config.disable for opt-out default setting

This commit is contained in:
hrsh7th
2021-10-25 22:50:38 +09:00
parent 5f5e8442f1
commit f1da3adddc
4 changed files with 19 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ local source = require('cmp.source')
local config = require('cmp.config')
local autocmd = require('cmp.utils.autocmd')
local keymap = require('cmp.utils.keymap')
local misc = require('cmp.utils.misc')
local cmp = {}
@@ -17,6 +18,7 @@ cmp.vim = require('cmp.types.vim')
---Export default config presets.
cmp.config = {}
cmp.config.disable = misc.none
cmp.config.compare = require('cmp.config.compare')
cmp.config.sources = require('cmp.config.sources')

View File

@@ -29,6 +29,9 @@ misc.concat = function(list1, list2)
return new_list
end
---The symbol to remove key in misc.merge.
misc.none = vim.NIL
---Merge two tables recursively
---@generic T
---@param v1 T
@@ -49,6 +52,9 @@ misc.merge = function(v1, v2)
end
return new_tbl
end
if v1 == misc.none then
return nil
end
if v1 == nil then
return v2
end

View File

@@ -15,6 +15,7 @@ describe('misc', function()
},
})
assert.are.equal(merged.a.b, 1)
merged = misc.merge({
a = false,
}, {
@@ -23,5 +24,14 @@ describe('misc', function()
},
})
assert.are.equal(merged.a, false)
merged = misc.merge({
a = misc.none,
}, {
a = {
b = 1,
},
})
assert.are.equal(merged.a, nil)
end)
end)