Add source.get_debug_name API
This commit is contained in:
@@ -251,6 +251,11 @@ source.new = function()
|
||||
return self
|
||||
end
|
||||
|
||||
---Return the source name for some information.
|
||||
source.get_debug_name = function()
|
||||
return 'example'
|
||||
end
|
||||
|
||||
---Return the source is available or not.
|
||||
---@return boolean
|
||||
function source:is_available()
|
||||
|
||||
@@ -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')
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user