From 07f84fe8d6bdad69a1bba609b2f87d3f80c86b7b Mon Sep 17 00:00:00 2001 From: hrsh7th Date: Wed, 22 Sep 2021 02:15:34 +0900 Subject: [PATCH] Fix #232 --- lua/cmp/source.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lua/cmp/source.lua b/lua/cmp/source.lua index 394127a..7e97ed5 100644 --- a/lua/cmp/source.lua +++ b/lua/cmp/source.lua @@ -307,9 +307,11 @@ source.complete = function(self, ctx, callback) completion_context = completion_context, }, self.complete_dedup(vim.schedule_wrap(function(response) - self.revision = self.revision + 1 if #((response or {}).items or response or {}) > 0 then debug.log(self:get_debug_name(), 'retrieve', #(response.items or response)) + local old_offset = self.offset + local old_entries = self.entries + self.status = source.SourceStatus.COMPLETED self.incomplete = response.isIncomplete or false self.entries = {} @@ -320,6 +322,12 @@ source.complete = function(self, ctx, callback) self.offset = math.min(self.offset, e:get_offset()) end end + self.revision = self.revision + 1 + if #self:get_entries(ctx) == 0 then + self.offset = old_offset + self.entries = old_entries + self.revision = self.revision + 1 + end else debug.log(self:get_debug_name(), 'continue', 'nil') if completion_context.triggerKind == types.lsp.CompletionTriggerKind.TriggerCharacter then