Add source.get_debug_name API

This commit is contained in:
hrsh7th
2021-08-16 12:12:55 +09:00
parent d314313060
commit 75b368abb8
3 changed files with 19 additions and 8 deletions

View File

@@ -1,5 +1,3 @@
local str = require('cmp.utils.str')
local misc = require('cmp.utils.misc')
local compare = require('cmp.config.compare')
local types = require('cmp.types')

View File

@@ -48,7 +48,7 @@ end
---Reset current completion state
---@return boolean
source.reset = function(self)
debug.log(self.id, self.name, 'source.reset')
debug.log(self:get_debug_name(), 'source.reset')
self.cache:clear()
self.revision = self.revision + 1
self.context = context.empty()
@@ -102,7 +102,7 @@ source.get_entries = function(self, ctx)
end)()
return self.cache:ensure({ 'get_entries', self.revision, ctx.cursor_before_line }, function()
debug.log('filter', self.name, self.id, #(prev_entries or self.entries))
debug.log('filter', self:get_debug_name(), #(prev_entries or self.entries))
local inputs = {}
local entries = {}
@@ -165,6 +165,14 @@ source.get_default_replace_range = function(self)
end)
end
---Return source name.
source.get_debug_name = function(self)
if self.source.get_debug_name then
return self.source:get_debug_name()
end
return self.name .. '(' .. self.id .. ')'
end
---Return the source is available or not.
source.is_available = function(self)
if self.source.is_available then
@@ -250,7 +258,7 @@ source.complete = function(self, ctx, callback)
if ctx:get_reason() == types.cmp.ContextReason.TriggerOnly then
self:reset()
end
debug.log('skip completion', self.name, self.id)
debug.log('skip completion', self:get_debug_name())
return
end
@@ -258,7 +266,7 @@ source.complete = function(self, ctx, callback)
self.is_triggered_by_symbol = char.is_symbol(string.byte(completion_context.triggerCharacter))
end
debug.log('request', self.name, self.id, offset, vim.inspect(completion_context))
debug.log('request', self:get_debug_name(), offset, vim.inspect(completion_context))
local prev_status = self.status
self.status = source.SourceStatus.FETCHING
self.request_offset = offset
@@ -274,7 +282,7 @@ source.complete = function(self, ctx, callback)
self.complete_dedup(function(response)
self.revision = self.revision + 1
if (misc.safe(response) and misc.safe(response.items) or misc.safe(response)) ~= nil then
debug.log('retrieve', self.name, self.id, #(response.items or response))
debug.log('retrieve', self:get_debug_name(), #(response.items or response))
self.status = source.SourceStatus.COMPLETED
self.incomplete = response.isIncomplete or false
self.entries = {}
@@ -284,7 +292,7 @@ source.complete = function(self, ctx, callback)
self.offset = math.min(self.offset, e:get_offset())
end
else
debug.log('continue', self.name, self.id, 'nil')
debug.log('continue', self:get_debug_name(), 'nil')
self.status = prev_status
end
callback()