diff --git a/lua/cmp/context.lua b/lua/cmp/context.lua index 45307f6..ec99409 100644 --- a/lua/cmp/context.lua +++ b/lua/cmp/context.lua @@ -14,6 +14,7 @@ local cache = require('cmp.utils.cache') ---@field public time number ---@field public mode string ---@field public bufnr number +---@field public virtcol number ---@field public cursor vim.Position|lsp.Position ---@field public cursor_line string ---@field public cursor_after_line string @@ -52,6 +53,7 @@ context.new = function(prev_context, option) self.mode = vim.api.nvim_get_mode().mode self.bufnr = vim.api.nvim_get_current_buf() self.cursor_line = vim.api.nvim_get_current_line() + self.virtcol = vim.fn.virtcol('.') self.cursor = {} self.cursor.row = vim.api.nvim_win_get_cursor(0)[1] self.cursor.col = vim.api.nvim_win_get_cursor(0)[2] + 1 diff --git a/lua/cmp/core.lua b/lua/cmp/core.lua index fb7cefe..7841bdd 100644 --- a/lua/cmp/core.lua +++ b/lua/cmp/core.lua @@ -65,7 +65,7 @@ core.ghost_text = function(e) { virt_text = { { text, 'Comment' } }, virt_text_pos = 'overlay', - virt_text_win_col = ctx.cursor.col - 1, + virt_text_win_col = ctx.virtcol - 1, hl_mode = 'combine', priority = 0, ephemeral = true,