@@ -195,7 +195,7 @@ source.get_trigger_characters = function(self)
|
|||||||
|
|
||||||
local trigger_characters = {}
|
local trigger_characters = {}
|
||||||
if self.source.get_trigger_characters then
|
if self.source.get_trigger_characters then
|
||||||
trigger_characters = self.source:get_trigger_characters(misc.readonly(self:get_config())) or {}
|
trigger_characters = self.source:get_trigger_characters(misc.copy(c)) or {}
|
||||||
end
|
end
|
||||||
if config.get().completion.get_trigger_characters then
|
if config.get().completion.get_trigger_characters then
|
||||||
return config.get().completion.get_trigger_characters(trigger_characters)
|
return config.get().completion.get_trigger_characters(trigger_characters)
|
||||||
@@ -211,7 +211,7 @@ source.get_keyword_pattern = function(self)
|
|||||||
return c.keyword_pattern
|
return c.keyword_pattern
|
||||||
end
|
end
|
||||||
if self.source.get_keyword_pattern then
|
if self.source.get_keyword_pattern then
|
||||||
return self.source:get_keyword_pattern(misc.readonly(c))
|
return self.source:get_keyword_pattern(misc.copy(c))
|
||||||
end
|
end
|
||||||
return config.get().completion.keyword_pattern
|
return config.get().completion.keyword_pattern
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -168,19 +168,6 @@ misc.to_vimindex = function(text, utfindex)
|
|||||||
return utfindex + 1
|
return utfindex + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
---Return readonly version object
|
|
||||||
---@generic T
|
|
||||||
---@param tbl T
|
|
||||||
---@return T
|
|
||||||
misc.readonly = function(tbl)
|
|
||||||
return setmetatable({}, {
|
|
||||||
__index = tbl,
|
|
||||||
__newindex = function()
|
|
||||||
error('this table is readonly.')
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
---Mark the function as deprecated
|
---Mark the function as deprecated
|
||||||
misc.deprecated = function(fn, msg)
|
misc.deprecated = function(fn, msg)
|
||||||
local printed = false
|
local printed = false
|
||||||
|
|||||||
@@ -49,12 +49,4 @@ describe('misc', function()
|
|||||||
assert.are.equal(merged.a, nil)
|
assert.are.equal(merged.a, nil)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it('readonly', function()
|
|
||||||
local o = { a = 1, b = 2 }
|
|
||||||
local r = misc.readonly(o)
|
|
||||||
assert.are.equal(r.a, 1)
|
|
||||||
assert.has_error(function()
|
|
||||||
r.a = 5
|
|
||||||
end)
|
|
||||||
end)
|
|
||||||
end)
|
end)
|
||||||
|
|||||||
Reference in New Issue
Block a user