diff --git a/README.md b/README.md index 2a39c3f..6136e72 100644 --- a/README.md +++ b/README.md @@ -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() diff --git a/lua/cmp/config/default.lua b/lua/cmp/config/default.lua index 8428752..ea82f94 100644 --- a/lua/cmp/config/default.lua +++ b/lua/cmp/config/default.lua @@ -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') diff --git a/lua/cmp/source.lua b/lua/cmp/source.lua index 82c79cd..59e32e1 100644 --- a/lua/cmp/source.lua +++ b/lua/cmp/source.lua @@ -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()