diff --git a/lua/cmp/context.lua b/lua/cmp/context.lua index 1342cd4..2d53abc 100644 --- a/lua/cmp/context.lua +++ b/lua/cmp/context.lua @@ -11,7 +11,6 @@ local api = require('cmp.utils.api') ---@field public option cmp.ContextOption ---@field public filetype string ---@field public time number ----@field public mode string ---@field public bufnr number ---@field public cursor vim.Position|lsp.Position ---@field public cursor_line string @@ -45,7 +44,6 @@ context.new = function(prev_context, option) self.option = option or { reason = types.cmp.ContextReason.None } self.filetype = vim.api.nvim_buf_get_option(0, 'filetype') self.time = vim.loop.now() - self.mode = vim.api.nvim_get_mode().mode self.bufnr = vim.api.nvim_get_current_buf() local cursor = api.get_cursor() diff --git a/lua/cmp/init.lua b/lua/cmp/init.lua index 6338010..d93fe4d 100644 --- a/lua/cmp/init.lua +++ b/lua/cmp/init.lua @@ -270,13 +270,10 @@ cmp.setup = setmetatable({ }) autocmd.subscribe('InsertEnter', function() - -- Avoid unexpected mode detection (mode() function will returns `normal mode` on the InsertEnter event.) - vim.schedule(function() - if config.enabled() then - cmp.core:prepare() - cmp.core:on_change('InsertEnter') - end - end) + if config.enabled() then + cmp.core:prepare() + cmp.core:on_change('InsertEnter') + end end) autocmd.subscribe('TextChanged', function() diff --git a/lua/cmp/utils/api.lua b/lua/cmp/utils/api.lua index a91f3e3..4b4feca 100644 --- a/lua/cmp/utils/api.lua +++ b/lua/cmp/utils/api.lua @@ -17,7 +17,7 @@ api.is_insert_mode = function() 'i', 'ic', 'ix', - }, vim.api.nvim_get_mode().mode) + }, vim.api.nvim_get_mode().mode) or vim.v.insertmode == 'i' end api.is_cmdline_mode = function()